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