Java中父類方法重寫有哪些需要注意的?

千鋒武漢發表於2021-08-13

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

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

  // 定義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所示。

1

  檔案1中,定義了Dog類並且繼承自Animal類。在子類Dog中定義了一個shout()方法對父類的方法進行重寫。從執行結果可以看出,在呼叫Dog類物件的shout()方法時,只會呼叫子類重寫的方法,並不會呼叫父類的shout()方法。

  注意:

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

  以上就是關於”Java中父類方法重寫有哪些需要注意的?“的相關內容,希望透過上面的介紹能夠給大家帶來幫助,如果您對 java技術非常感興趣,可以關注小千,後期分享更多Java知識。

  本文來自千鋒教育,轉載請註明出處。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2786751/,如需轉載,請註明出處,否則將追究法律責任。

相關文章