Java 訪問許可權修飾符學習筆記

shipinlou8發表於2009-06-16
Java 中有package的概念,控制許可權訪問也和package相關。

Java中有4個訪問許可權修飾符,3個關鍵字,其中1個是預設的package範圍訪問許可權。

1. public 和 private 關鍵字是兩個極端,public修飾的類,方法及成員是可以被任意訪問的,private修飾的方法和成員只能在其被定義的類中使用。

2. protected 修飾的方法和成員可以在自身類中和同一個package的其他類中使用。
如果有不同package的類想呼叫它們,那麼這個類必須是定義它們的類的子類,要注意的是在子類中必需通過子類物件呼叫它們,不能通過定義它們自身來使用,因為它們對另一個package來說是隱藏的。

如:
package test1;
public class Test{
protected void output(){
System.out.print("ha");
}
}

package test2;
public class SubTest extends Test{
public static void main(String args[]){
SubTest stest = new SubTest();
SubTest.output(); //ok
Test test = new Test();
test.output(); //編譯錯誤
}
}

3.預設訪問許可權修飾符沒有關鍵字,可以用在定義它的類中,也可以被同一個包中的其他類呼叫,定義如下:
public class Test{
/*package*/ void output(){} // /*package*/ 為註釋,可以沒有
}

相關文章