在java中提供有四種訪問控制權限:
private<default<protected<public 。
這四種訪問控制權限的定義如下:
對於public永遠都可以訪問,對於封裝性而言主要是private、default、protected權限。
範例:觀察protected訪問權限。
package father;
public class Father {
// 此時定義的是protected權限
protected String msg = "www.Flyingfish.java" ;
}
範例:定義另外一個包進行該類繼承
package child;
import father.Father; // 不同包
public class Child extends Father{
public void print() {
System.out.println(super.msg); // 父類中protected權限
}
}
範例:定義測試類
package test;
import child.Child;
public class TestProtected {
public static void main(String[] args) {
Child child = new Child() ;
child.print();
}
}
在不同包中,只有子類能訪問父類中的protected權限。
總結:關於權限選擇
1. 對於封裝的描述90%使用private,只有10%會使用protected,這兩個都叫封裝。
2. 屬性都使用private,方法都使用public.
封裝性就是指private、default、protected三種權限的使用。