類、方法、成員變數和局部變數可用修飾符
修飾符 |
類 |
成員方法 |
構造方法 |
成員變數 |
局部變數 |
Abstract |
√ |
√ |
|
|
|
Static |
|
√ |
|
√ |
|
Public |
√ |
√ |
√ |
√ |
|
Protected |
|
√ |
√ |
√ |
|
private |
|
√ |
√ |
√ |
|
synchronized |
|
√ |
|
|
|
native |
|
√ |
|
|
|
transient |
|
|
|
√ |
|
volatile |
|
|
|
√ |
|
final |
√ |
√ |
|
√ |
√ |
修飾頂層類包括abstract public final
成員方法、成員變數可以由多種修飾符
局部變數只有final
1 存取控制修飾符1.1 公開層級:用public修飾,對外公開1.2 受保護層級:用protected修飾,向子類及同一個包中的類公開。1.3 預設層級:沒有存取控制修飾符,向同一個包中的類公開1.4 私人層級:用private修飾,只有類本身可以訪問,不對外公開。
2 Abstract修飾符2.1 抽象類別不能被執行個體化2.2 抽象類別中可以沒有抽象方法,但包含了抽象方法的類必須被定義為抽象類別2.3 如果子類沒有實現父類中的所有抽象方法,子類必須定義為抽象類別2.4 抽象類別不能被定義為private final static類型2.5 沒有抽象構造方法2.6 抽象方法沒有方法體
3 Final修飾符3.1 用final修飾的類不能被繼續3.2 用final修飾的方法不能被子類的方法覆蓋3.3 Private類型的方法都預設為final方法,因而不能被子類的方法覆蓋3.4 Final變數必須被顯示初始化,並且只能被賦一次值4 Static修飾符4.1 靜態變數在記憶體中只有一個拷貝,在類的所有執行個體中共用4.2 在靜態方法中不能直接存取執行個體方法和執行個體變數4.3 在靜態方法中不能使用this和super關鍵字4.4 靜態方法不能被abstract修飾4.5 靜態方法和靜態變數都可以直接通過類名直接被訪問4.6 當類被載入時,靜態代碼塊只被執行一次。類中不同的靜態代碼塊按它們在類中出現的順序依次執行