2020久久超碰欧美精品最新亚洲欧美日韩久久精品,国产福利电影一区二区三区,亚洲欧美日韩一区在线观看,亚洲国产欧美日韩欧美特级,亚洲欧美日韩成人一区久久,欧美日韩精品一区二区三区不卡,国产欧美日韩va另类影音先锋,亚洲欧美日韩久久精品,亚洲欧美日韩国产成人精品影院,亚洲国产欧美日韩精品一区二区三区,欧美日韩国产成人高清视频,日韩久久精品国产免费观看频道,久久人人爽人人爽从片av高清,国产精品综合一区二区

首頁技術文章正文

java知識培訓:子類重寫父類時的訪問權限

更新時間:2022-07-28 來源:黑馬程序員 瀏覽量:

IT培訓班

  子類重寫父類方法時,不能使用比父類中被重寫方法更嚴格的訪問權限。例如,父類中的方法是public權限,子類的方法就不能是private權限。如果子類在重寫父類方法時定義的權限縮小,則在編譯時將出現錯誤提示。下面對文件4-3進行修改,修改后的代碼如文件4-4所示。

  文件4-4 Example04.java

//定義Animal類
class Animal {
    //定義動物叫的方法
    public void shout () {
        System.out.println("動物發出叫聲");
    }
}
// 定義Dog類繼承Animal類
class Dog extends Animal {
    //重寫父類Animal中的shout () 方法
    private void shout () {
        System.out.println("汪汪汪......")
    }
}
//定義測試類
public class Example04 {
    public static void main (String[] args) {
        Dog dog = new Dog (); //創建Dog類的實例對象
        dog.shout ();         //調用dog重寫的shout()方法
    }
}

  編譯文件4-4,編譯報錯,如圖4-5所示。

1658992388485_文件4-4編譯報錯.jpg

  圖4-5 文件4-4編譯報錯

  在文件4-4中,第4行代碼在Animal類中定義了一個shout()方法并將訪問權限定義為public,第9~14行代碼定義了一個Dog類并繼承Animal類,第11行代碼在聲明shout()方法時,將shout()方法的訪問權限定義為private。如圖4-5所示,編譯文件會報錯,這是因為子類重寫父類方法時,不能使用比父類中被重寫的方法更嚴格的訪問權限。

分享到:
在線咨詢 我要報名
和我們在線交談!