1. 程式人生 > 其它 >面向物件11方法重寫

面向物件11方法重寫

package com.oop;

import com.oop.demo05.A;
import com.oop.demo05.B;
;

public class Application {

//靜態的方法和非靜態的方法區別很大!
//靜態方法:方法的呼叫只和左邊,定義的資料型別有關
//非靜態方法:重寫
public static void main(String[] args) {


A a = new A();
a.text();//A

//父類的印用指向了子類
B b = new A();//子類重寫父類的方法
b.text();//B


}
}
package com.oop.demo05;

//繼承關係
public class A extends B{

//Override 重寫
@Override //有功能的註釋!
public void text() {
System.out.println("A=>text()");
}
}
package com.oop.demo05;

//重寫都是方法的重寫,和屬性無關
public class B {
public void text(){
System.out.println("B=>text()");
}
}
重寫:需要有繼承關係,子類重寫父類的方法!
1.方法名必須相同
2.引數列表必須相同
3.修飾符:範圍可以擴大但不能縮小:public>Protected>Default>Private
4.丟擲異常:範圍,可以被縮小,但不能擴大;CLassNotFoundException-->Exception(大)

重寫,子類的方法和父類必須要一致;方法體不同!

為什麼要需要重寫:
1.父類的功能,子類不一定需要,或者不一定滿足!
Alt + Insert ; override;