1. 程式人生 > >(十九)、方法的覆寫

(十九)、方法的覆寫

方法的覆寫(重寫,override)

當父類方法無法滿足子類的需求,子類可以重新定義繼承的那個方法

  • 覆寫的規則:

    • 兩同:方法名相同,引數相同

    • 兩小:

    • 1.子類的返回值型別必須是父類的返回值型別的子類或者與父類相同
      返回值型別必須有子父類關係
    • 2.子類丟擲的異常,與父類相同,或者是父類異常型別的子類

    • 一大:子類方法的訪問許可權不能比父類小

  • 繼承中靜態方法的特點
    子類可以繼承父類的靜態方法,不能覆寫父類的靜態方法

Demo:

Pet類:

public class Pet {
    public void speak() {
        System.out
.println("寵物在叫"); } public static void fun() { System.out.println("父類的靜態方法"); } }

Dog類:

public class Dog extends Pet {
    @Override
    public void speak() {
        System.out.println("狗在叫");
    }
}

Cat類:

public class Cat extends Pet {
    @Override
    public void speak
() { System.out.println("貓在叫"); } }

Test類:

public class Test {
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.speak();
        Dog.fun();

        Cat cat = new Cat();
        cat.speak();
    }
}
  • final關鍵字
    final可以修飾類,變數,方法

1.final修飾類:表示這個類不能被繼承
2.final修飾方法:表示這個方法不能被子類覆寫,可以被子類繼承
3.final修飾變數:表示這個變數是常量,只能被賦值一次

注意

1.final修飾成員變數時,必須手動賦值
2.final修飾形參,不能再賦值,呼叫方法時已被賦值
3.final修飾變數之後變成常量。命名:所有字母大寫,不同單詞用_連線