(十九)、方法的覆寫
阿新 • • 發佈:2019-02-14
方法的覆寫(重寫,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修飾變數之後變成常量。命名:所有字母大寫,不同單詞用_連線