Android中的通路權限修飾符有public,protected,default,private四種,
之前一直處于似懂非懂的狀态,這次就徹底了解下.
Step1:
Test類中,定義四個靜态方法,并在一個test()方法中測試調用.
public class Test {
public void test() {
methodPublic();
methodProtected();
methodDefault();
methodPrivate();
}
public static void methodPublic() {
}
protected static void methodProtected() {
}
static void methodDefault() {
}
private static void methodPrivate() {
}
}
Step2:
建立如下
兩個包: pkg1, pkg2;
四個類: SamePackage, SamePackageAndExtende, DifferPackage, DifferPackageAndExtend.
并分别定義各自的test()方法:
public void test() {
// 用于測試是否可調用到 Test 類中的四個方法.
}
Step3:
可得如下結果:
方法名 | 本類(Test) | 同包子類(SamePackageAndExtend) | 同包(SamePackage) | 不同包子類(DifferPackageAndExtend) | 不同包(DifferPackage) |
methodPublic | √ | √ | √ | √ | √ |
methodProtected | √ | √ | √ | √ | × |
methodDefault | √ | √ | √ | × | × |
methodPrivate | √ | × | × | × | × |
Conclusion(總結):

通路權限 | 本類(Test) | 同包子類(SamePackageAndExtend) | 同包(SamePackage) | 不同包子類(DifferPackageAndExtend) | 不同包(DifferPackage) |
public | √ | √ | √ | √ | √ |
protected | √ | √ | √ | √ | × |
default | √ | √ | √ | × | × |
private | √ | × | × | × | × |