Java 中重寫
阿新 • • 發佈:2019-02-11
重寫(Override)
1) 方法重寫(Override):又叫做覆寫,子類與父類的方法返回型別一樣、方法名稱一樣,引數一樣,這樣我們說子類與父類的方法構成了重寫關係。
2) 方法重寫與方法過載之間的關係:過載發生在同一個類內部的兩個方法或多個方法。重寫發生在父類和子類之間。
3) 當兩個方法形成重寫關係時,可以在子類方法中通過super.run()形式呼叫父類的run()方法,其中super.run不必放在第一行語句,因此此時父類物件已經構造完畢,先呼叫父類的run()方法還是先呼叫子類的run()方法是根據程式邏輯決定的。下面舉個例子:
public class InheritenceTest { public static void main(String[] args) { Dog dog = new Dog(); dog.run(); } } class Animal { public void run() { System.out.println("animal is running"); } } class Dog extends Animal { public void run() { System.out.println("Dog is running"); super.run();//呼叫父類的run方法 } }
輸出結果:
Dog is running
animal is running
4) 在定義一個類的時候,如果沒有顯式指定該類的父類,那麼該類就會繼承於java.lang.Object(JDK提供的一個類,Object類是Java中所有類直接或間接父類)。下面舉個例子:
public class InheritenceTest { public static void main(String[] args) { Son son = new Son(); } } class Grandpa { public Grandpa() { System.out.println("grandpa"); } } class Father extends Grandpa { public Father() { System.out.println("father"); } } class Son extends Father { public Son() { System.out.println("son"); } }
輸出結果:
grandpa
father
son
Grandpa就是繼承Object