多型就是父類指向子類物件,比如 動物 動物= new 老虎();動物 動物= new 獅子();獅子老虎都繼承動物,然後重寫動物中的方法,這種乙個父類多種狀態就是多型。
public abstract class fu
//再來乙個沒有重寫的
public void me()
} //兩個子類繼承
public class zi1 extends fu
}public class zi2 extends fu
}main函式()
fu f=new zi1(); //f不能呼叫zi1的私有方法,需要向下轉型
zi1 zi= (zi1) fu;
通過物件名訪問變數時,=號左邊是誰就呼叫誰的。
fu f=new zi();
print(f.num) //此時輸出的是父類的num
一句話,變數使用看左,方法看右邊 =號左邊是父類,優先使用父類的變數,右邊是誰,優先使用誰的方法。
//建工廠,用名字來建立物件。
public class fu
public fu(string name)else if }}
格式較統一
fu f =new zi1();
fu f2=new zi2();
多型情況下,成員方法和成員變數的呼叫
多型情況下,父類的引用呼叫和子類同名的普通成員變數,使用的是父類自己的成員變數 多型情況下,父類的引用呼叫和子類同名的普通成員方法,使用的是子類自己的成員方法 多型情況下,父類的引用呼叫和子類同名的靜態成員方法,使用的是父類的靜態成員方法 多型情況下,父類的引用不能呼叫子類特有的成員變數。參考總結就...
多型 成員變數和成員方法的多型性
1 成員方法的多型性 public class polymorphism class basepolymorphism public void method1 此方法會被子類的同名方法覆蓋 public void method2 private void method3 class subpolym...
多型和虛方法的呼叫
1.多型 多型 是指在乙個程式中相同的名字表示不同的含義。編譯時的多型 過載 多個同名的不同的方法.例如我們給定的引數個數不同執行不同的功能。執行時的多型 覆蓋 子類對父類方法的覆蓋。動態繫結 虛方法呼叫。在呼叫方法時,程式會正確呼叫子類方法的物件。多型的特點大大提高了程式的抽象程度和簡潔性。2.上...