指在Java中用於限定使用范圍的關鍵字
|
|
本類中 |
子類中 |
同包類中 |
其他類中 |
| public |
可以 |
可以 |
可以 |
可以 |
| protected |
可以 |
可以 |
可以 |
不可以 |
| 默認 |
可以 |
同包子類可以 |
可以 |
不可以 |
| private |
可以 |
不可以 |
不可以 |
不可以 |
public:接口訪問權限
使用public關鍵字,就意味着被聲明的成員或方法對所有人都是可以訪問的。
private:無法訪問
使用private關鍵字,就意味着被聲明的成員或方法,除了本類,其他任何類都無法訪問。
protected:繼承訪問權限
新類(稱之子類或派生類)通過繼承可以復用一個現有類(稱之父類或基類),然后擴展基類的成員、方法。
有時,基類的創建者會希望某個特定成員,將它的訪問權限賦予派生類而不是所有類。
public無法做到這一點,為此,引入了protected來完成這一工作。
protected也提供包訪問權限,也就是說,派生類以及相同包內的其他類都可以訪問protected成員或方法。
class B extends A{ int b = 22; } class C extends B{ protected void c() { System.out.println("C類--保護"); } } class D extends C{ private void d() { System.out.println("D類--私有"); } } public class A { public void a() { System.out.println("A類--公共"); } public static void main(String[] args) { D d = new D(); d.a(); d.c(); //d.d(); 不允許調用,只允許D類里面進行調用 System.out.println(d.b); } }
運行結果:
A類--公共 C類--保護 22
