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

首頁技術文章正文

Java中父類方法重寫有哪些注意事項?

更新時間:2021-08-11 來源:黑馬程序員 瀏覽量:

IT培訓班

在繼承關系中,子類會自動繼承父類中公共的方法,但有時在子類中需要對繼承的方法進行一些修改,即對父類的方法進行重寫。需要注意的是,子類中重寫的方法需要和父類被重寫的方法具有相同的方法名、參數列表以及返回值類型。

在上一節案例中,Dog類從Animal類繼承了shout()方法,該方法在被調用時會打印“動物發出叫聲”,這顯然不能描述一種動物的具體叫聲,Dog類對象屬于犬類,發出的叫聲應該是“汪汪”。為了解決這個問題,可以在Dog類中重寫父類Animal中的shout()方法,如文件1所示。

文件1 Example02.java

     // 定義Animal類
     class Animal {        
          //定義動物叫的方法        
         void shout() {              
             System.out.println("動物發出叫聲");
         }
     }
     // 定義Dog類繼承動物類
     class Dog extends Animal {    
         // 定義狗叫的方法
         void shout() {             
             System.out.println("汪汪……");
         }
     }
     // 定義測試類
     public class Example02 {    
         public static void main(String[] args) {
             Dog dog = new Dog(); // 創建Dog類的實例對象
             dog.shout();           // 調用Dog類重寫的shout()方法
         }
     }
運行結果如圖1所示。

1628653137887_重寫父類.jpg

文件1中,定義了Dog類并且繼承自Animal類。在子類Dog中定義了一個shout()方法對父類的方法進行重寫。從運行結果可以看出,在調用Dog類對象的shout()方法時,只會調用子類重寫的方法,并不會調用父類的shout()方法。

注意:

子類重寫父類方法時,不能使用比父類中被重寫的方法更嚴格的訪問權限。如:父類中的方法訪問權限是public,子類重寫父類該方法的訪問權限就不能是private。





猜你喜歡:

什么是類?怎樣聲明類的繼承關系?

File類中常用的構造方法【黑馬程序員】

JDK8新增的日期與時間類有多少種?應該怎么樣使用?

為什么需要對類進行封裝?

黑馬程序員Java開發培訓課程

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