protected和default

// a包
public class Student{
    public void eat(){
        System.out.println("喫飯");
        super.action();
    }
    private void exam(){
        System.out.println("學生在考試");
    }
    protected void cadre(){
        System.out.println("競選幹部");
    }
    void study(){
        System.out.println("學習");
    }
}

// b包
public class XiaoMing extends Student {
    public XiaoMing() {
        super.cadre();
        super.action();
        // 不同包調用protected只能在子孫類中
        new 基類的子孫類().protected方法();
    }
}
// b包
public class MyClass {
    public static void main(String[] args) {
        new XiaoMing().cadre(); // 因爲MyClass類和People類不同包所以xiaoMing的實例不可以調用protected方法
    }
}

protected、default同包下和public並無區別,default只能在同包下訪問

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章