Java中修飾符總結

2021-08-08 12:16:06 字數 1608 閱讀 5844

訪問控制修飾符

作用: 用於控制被修飾變數、方法、類的可見範圍. 

public 的訪問級別是最高的,其次是 protected、預設和 private. 

成員變數和成員方法可以處於4個訪問級別中的乙個:公開、受保護、預設或私有. 

存在繼承關係時,父類不可以是 private,因為子類無法繼承 

頂層類可以處於公開或缺省級別,頂層類不能被 protected 和 private 修飾. 

區域性變數不能被訪問控制修飾符修飾 . 

下圖是在不同情況下各種許可權修飾符的作用範圍: 

總結: 在不同包下面能夠訪問的許可權修飾符只有: pulbic 與protected,但是 protected 必須要有繼承的關係才能夠訪問。

abstract 修飾符

抽象類不能被例項化. 

抽象類中可以沒有抽象方法,但包含了抽象方法的類必須被定義為抽象類. 

如果子類沒有實現父類中所有的抽象方法,子類也必須定義為抽象類. 

抽象類不能被定義為 private、final、和 static 型別. 

沒有抽象的構造方法. 

抽象方法沒有方法體,如果乙個方法沒有方法體,那麼該方法必須宣告為抽象的方法. 

非抽象類繼承抽象類的時候,必須要把抽象類中的所有抽象方法實現.

final 修飾符

final 變數必須被顯式初始化,並且只能被賦值一次值 

final 修飾基本型別變數的時候, 該變數不能重新賦值 

final 修飾引用型別變數的時候, 該變數不能重新指向其他物件 

final 修飾的方法為最終的方法, 該方法不能被重寫 

private 型別的方法都預設為是final方法,因而也不能被子類重寫 

final 修飾的類為最終的類, 不能被繼承

static 修飾符

如果宣告了靜態方法或變數,值是放在方法區,因為方法區是乙個資料共享區;所以不管什麼變數訪問它,都是同乙份. 

在靜態方法中不能直接訪問例項方法和例項變數. 

在靜態方法中不能使用 this 和 super 關鍵字. 

靜態方法不能被 abstract 修飾. 

靜態的成員變數可以使用類名或者是物件進行訪問,非靜態成員變數只能使用物件進行訪問. 

靜態函式可以直接訪問靜態的成員,但是不能夠直接訪問非靜態成員.,非靜態函式可以訪問靜態和非靜態成員. 

當類被載入時,靜態**塊只能被執行一次。類中不同的靜態方法**塊按他們在類中出現的順序被依次執行. 

當多個修飾符連用時,修飾符的順序可以顛倒,不過作為普遍遵守的編碼規範,通常把訪問控制修飾符放在首位,其次是 static 或 abstact 修飾符,接著就是其他的修飾符

注意:以下修飾符一起用是無意義的,會導致編譯錯誤: 

abstract 與 private 

abstract 與 final 

abstract 與 static

Java中修飾符總結

這是我的第一篇csdn部落格,以後會持續更新,當然也會由淺入深的給大家分享。1.訪問控制修飾符用法 用於控制被修飾變數 方法 類的可見範圍.public的訪問級別是最高的,其次是protected 預設和private.成員變數和成員方法可以處於4個訪問級別中的乙個 公開 受保護 預設或私有.存在繼...

Java修飾符總結

訪問許可權修飾符 1.public 共有訪問,對所有類都可見 2.protected 保護型訪問。對同乙個包可見,對不同包的子類可見 3.default 預設訪問許可權。只對同乙個包可見,對不同包的子類不可見 3.private 私有訪問。只對同乙個類可見,其餘都不見 非訪問許可權修飾符 1.sta...

Java 修飾符總結

類修飾符 public 可以從其他類中訪問 obstract 本類不能被例項化 final 不能再宣告子類 構造器修飾符 public 可以從所有的類中訪問 protected 只能從自己的類和它的子類中訪問 private 只能在本類中訪問 域修飾符 public 可以從所有的類中訪問 prote...