更新時間:2022-10-17 12:10:45 來源:動力節(jié)點 瀏覽1304次
重寫:需要有繼承關(guān)系,子類重寫父類的方法!
方法名必須相同
參數(shù)列表列表必須相同
修飾符:范圍可以擴大但不能縮小 public > protected > default > private
拋出的異常:范圍可以被縮小,但不能擴大
重寫,子類的方法和父類要一致,方法體不同!
為什么要重寫:
父類的功能,子類不一定需要,或者不一定滿足!
IDEA快捷鍵:Alt + insert :override;
package com.cnblogs;
//本類用于實現(xiàn)
public class Application {
public static void main(String[] args) {
//實例化父類
Person person = new Person();
//實例化子類
Student stu = new Student();
person.getName();//父類屬性
stu.getName();
//子類屬性
//父類屬性
}
}
package com.cnblogs;
/*
person類
*/
public class Person {
//父類屬性
private String name = "父類屬性";
//父類方法
public void getName(){
System.out.println(name);
}
}
package com.cnblogs;
/*
student類
*/
public class Student extends Person{
//子類屬性
private String name = "子類屬性";
//子類重寫父類方法
@Override
public void getName() {
System.out.println(name);
//super關(guān)鍵字
super.getName();
}
}
總結(jié):
重寫的要求:兩同兩小一大
兩同:方法名參數(shù)列表要完全一致
兩小:
子類返回值類型小于等于父類的返回值類型(注意此處說的是繼承關(guān)系,不是值大小)
子類拋出異常小于等于父類方法拋出異常
一大:子類方法的修飾符權(quán)限要大于等于父類被重寫方法的修飾符權(quán)限