標籤:stat fat generate abstract void code abs string rom
java 執行個體化時調用了抽象方法或者class裡面某個方法,如果子類有重寫改方法,實際啟動並執行是子類重寫方法
package auto.test;//抽象父類public abstract class Father { public Father() { // TODO Auto-generated constructor stub oupPut(); //執行個體化時調用,子類有,就調用子類方法,子類沒有,就調用父類方法 } //父類抽象方法,讓子類重寫 public void oupPut(){ System.out.println("from Father class"); };}//子類Aclass ChildA extends Father{ //重寫父類方法 @Override public void oupPut(){ System.out.println("from childA class"); }}// 子類Bclass ChildB extends Father { //重寫父類方法 @Override public void oupPut(){ System.out.println("from childB class"); }}class ChildC extends Father { //沒有重寫父類方法}執行測試類別public class TestClaass { public TestClaass() { // TODO Auto-generated constructor stub } public static void main(String arg[]){ Father a = new ChildA(); Father b = new ChildB(); Father c = new ChildC(); }}
運行結果:
from childA class
from childB class
from Father class
java 執行個體化是調用了子類重寫方法