Java 修饰符主要分为两类:this
修饰符 | 当前类 | 同一包内 | 子孙类 | 其它包 |
---|---|---|---|---|
public | Y | Y | Y | Y |
protected | Y | Y | Y | N |
default | Y | Y | N | N |
private | Y | N | N | N |
public class Dog { static String name; static int age; public static void printInfo() { System.out.println("name:" + name + ", age:" + age); } public static void main(String[] args) { Dog.name = "roy"; Dog.age = 3; Dog.printInfo(); Dog dog = new Dog(); dog.printInfo(); } }
name:roy, age:3 name:roy, age:3
public abstract class SuperClass { abstract void m(); } class SubClass extends SubClass { void m() { ……………… } }
synchronized 表示同一时间只能被一个线程访问线程
public synchronized void showDetails() { }
volatile 修饰的成员变量在每次被线程访问时,都强制从共享内存中从新读取该成员变量的值,并且,当成员变量发生改变时,会强制线程将变化的值回写到共享内存,这样在任什么时候刻,两个不一样的线程总会看到某个成员变量的同一个值。
```
public class Run {
private volatile boolean active;
}code