public、protected、private訪問許可權修飾詞(原創)
1.private: 被private修飾的只能是同一個類的可以訪問,跨類都不行。(如果構造器被宣告成了private,則不可以通過new來新建一個物件,可以使用static的方法返回一個new物件)
2.什麼也不加的預設是包訪問控制權限:只有同一個包下的可以呼叫,跨包的類無法載入不是同一個包下的類(除非那個類加上public)。
包test1
public class A
class B
包test2
public class C 無法呼叫B
3.protected:主要是為了對繼承的類開放,沒繼承的類不開放
public class demo4 {
protected void method(){
System.out.println("test");
}
}
public class demo5 extends demo4{
@Override
protected void method() {
super.method();
}
}
class demo6{
public void met(){
demo4 demo=new demo4();
// demo.method();
}
}
4.設定訪問許可權是為了防止一些原始碼被客戶端程式設計師修改。所以被設定為private的語句,客戶端程式設計師是無法訪問到的,設定成protected的語句,客戶端程式設計師只有在繼承那個類之後才能訪問到,不繼承的話無法訪問到。客戶端程式設計師可以訪問所有的public修飾的語句,對於預設不加修飾詞的語句,預設是包許可權,只有在同一個包下才可以訪問,不在一個包下不允許訪問。