對於Java中許可權修飾符的理解
- 2022 年 9 月 23 日
- 筆記
- JavaSE

- 老是把Java中許可權修飾符給忘記,寫一個部落格加深印象吧
- 許可權分為四個作用域:當前類,同一個包,其他包的子類,其他包的類。
- 首先要知道包的概念,Java中一個包是指一個package下的所有文件。
- protected適用於修飾成員變數的,也就是類中的方法和屬性,不能用於修飾類。子類B繼承了父類A,如果父類class是預設的,而子類class是public的,那麼在其他包的類中,可以定義該子類B的對象,也可以調用父類A中的protected修飾的方法,但是不能在其它包中定義父類A的對象。
package p1;
public class B extends A{
}
package p1;
public class B {
protected String s;
public B() {
}
public void getC(){
System.out.println("C的方法");
}
}
package p2;
public class TestExtendAndProtected {
public static void main(String[] args) {
C c = new C();
c.getC();
D d = new D();
d.getC();
}
}
- 需要注意的就是抽象類,class只能修飾為public或protected。如果說抽象類省略了許可權修飾符,那它默認就是public的。