1. 程式人生 > >Java 中重寫

Java 中重寫

重寫(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