天天看點

Java四種通路修飾符_測試&詳解

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(總結):

Java四種通路修飾符_測試&詳解
通路權限 本類(Test) 同包子類(SamePackageAndExtend) 同包(SamePackage) 不同包子類(DifferPackageAndExtend) 不同包(DifferPackage)
public
protected ×
default × ×
private × × × ×