Java語言中的訪問修飾符

2021-06-16 22:49:53 字數 1214 閱讀 9583

1、訪問控制修飾符(public、protected、預設和private)

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

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

頂層類可以處於公開或者是預設級別,頂層類不能被protected和private修飾。

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

2、abstract修飾符

抽象類不能被例項化。

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

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

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

沒有抽象構造方法。

抽象方法沒有方法體。

3、final修飾符

用final修飾的類不能被繼承。

用final修飾的方法不能被子類方法覆蓋。

private型別的方法預設為是final方法,因而不能被子類的方法覆蓋。

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

4、static修飾符

靜態變數在記憶體中只有乙個拷貝,在類的所有例項中共享。

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

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

靜態方法不能被abstract修飾。

靜態方法和靜態變數都可以通過類名直接訪問。

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

許多修飾符可以連用,例如:

private static final int max_count = 1;

public static final void main(string args) {};

protected abstract void method();

當多個修飾符連用的時候,修飾符的順序是可以顛倒的

private static final int max_count = 1;

static private final int max_count 1= 1;

finalstatic private  int max_count = 1;

java 訪問修飾符

default 預設 包訪問許可權 同乙個包內都可以訪問,類內可以訪問,同乙個包的子類也可以訪問,即在繼承機制中,同一包可以被繼承 public 公開的,不論是否在包內還是包外,類內還是類外都可以訪問,也都可以被繼承 protected 保護的,在包內可以訪問到,在包外不可訪問,類內可以訪問,子類可...

java訪問修飾符

純粹是個人學習總結,如有不對的地方請吐槽。public public修飾的類 類屬變數及方法,包內及包外的任何類均可以訪問 protected protected修飾的類 類屬變數及方法,包內的任何類,及包外的那些繼承了此類的子類才能訪問 private private修飾的類 類屬變數及方法,包內...

Java 訪問修飾符

類的訪問修飾符 方法和域的訪問修飾符 基類,package ly.practice public class refernce protected refernce string name public refernce string name,int age public string getna...