1、訪問控制修飾符
public的訪問級別是最高的,其次是protected、默認和private
成員變量和成員方法可以處於4個訪問級別中的一個:公開、受保護、默認或私有
頂層類可以處於公開或默認級別,頂層類不能被protected和private修飾
局部變量不能被訪問控制修飾符修飾
2、abstract修飾符
抽象類不能被實例化
抽象類中可以沒有抽象方法,但包含了抽象方法的類必須被定義爲抽象方法
如果子類沒有實現父類中所有的抽象方法,子類也必須定義爲抽象類
抽象類不能被定義爲private、final、和static類型
沒有抽象的構造方法
抽象方法沒有方法體
3、final修飾符
用final修飾的類不能被繼承
用final修飾的方法不能被子類的方法覆蓋
private類型的方法都默認爲是final方法,因而不能被子類的方法覆蓋
final變量必須被顯式初始化,並且只能被賦值一次值
4、static修飾符
靜態變量在內存中只有一個拷貝,在類的所有實例中共享
在靜態方法中不能直接訪問實例方法和實例變量
在靜態方法中不能使用this和super關鍵字
靜態方法不能被abstract修飾
靜態方法和靜態變量都可以通過類名直接訪問
當類被加載時,靜態代碼塊只能被執行一次。類中不同的靜態方法代碼塊按他們在類中出現的順序被依次執行
當多個修飾符連用時,修飾符的順序可以顛倒,不過作爲普遍遵守的編程規範,通常把訪問控制修飾符放在首位,其次是static或abstact修飾符,接着就是其他的修飾符
以下修飾符連用是無意義的,會導致編譯錯誤:
abstract與private
abstract與final
abstract與static