面試高頻考點:重寫和過載的區別
阿新 • • 發佈:2021-05-14
重寫和過載的區別
定義:過載和重寫都是實現多型的方式,
區別:過載:編譯時多型
重寫:執行時多型
一,重寫的特點:
1.發生在父類與子類之間
2.方法名相同,引數列表相同
3.子類訪問限定符 >= 父類訪問限定符
(public>protected>default>private)
4.重寫方法一定不能丟擲新的檢查異常或者比被重寫方法更寬泛的異常
二,過載的特點
1.同一個類中
2.方法名相同引數列表不同
注意無論過載還是重寫都不以返回型別作為判斷標準
重寫
public class Father {
public static void main(String[ ] args) {
Father s =new Sons();
s.sayHello();
}
public void sayHello(){
System.out.println("hell0,Father");
}
}
class Sons extends Father{
@Override
public void sayHello() {
System.out.println("hello,son");
}
}
過載
public class Father {
public static void main(String[] args) {
Father s =new Father();
s.sayHello();
s.sayHello("過載");
}
public void sayHello(){
System.out.println("hell0,Father");
}
public void sayHello(String name){
System.out.println ("hell0 "+name);
}
}
hell0,Father
hell0 過載