父類引用指向子類物件

2021-07-11 10:47:05 字數 776 閱讀 2877

是多型的一種實現方式

這樣做使程式靈活性更好,

若有多個子類,

只需改變引用就能實現不同的功能,

而不需要改變程式**!

父類:a

子類:a1,a2

a obj1 = new a1();

a obj2 = new a2();

如果a有乙個方法是show();

子類實現了show();

那麼obj1.show()就是第乙個子類的show();

obj2.show()就是第二個子類的show();

多型我的理解就是在執行時表現的多種形態

比如現在想寫乙個test方法這個方法要呼叫子類的show方法,那麼就可以呼叫

void test(a temp)

如果想執行第乙個子類的show(),就可以這樣寫a obj1 = new a1();

然後test(obj1);

如果想執行第二個子類的show(),a obj2 = new a2();

test(obj2);

這樣那個抽象類就類似乙個介面,可以用這個介面來產生比如過一陣又需要寫乙個新的類,那麼

class c extends a

}a obj3 = new c();

test(obj3);

這樣只寫了乙個類,宣告了乙個物件而沒有改變原來的**,直接呼叫新寫的類即可,完成**的重用。以後再想寫新的類只需再這麼做而不必改動原來的**。這個介面就好像能**將來發生的事,將來完成的任務只要滿足這個介面就可以呼叫這個函式而不必重寫

參考

父類引用指向子類物件

要理解多型性,首先要知道什麼是 向上轉型 我定義了乙個子類cat,它繼承了animal類,那麼後者就是前者是父類。我可以通過 cat c new cat 例項化乙個cat的物件,這個不難理解。但當我這樣定義時 animal a new cat 這代表什麼意思呢?很簡單,它表示我定義了乙個animal...

父類引用指向子類物件

package fuleiyinyongzhixiang public class animal public void sleep package fuleiyinyongzhixiang public class person extends animal public void play pa...

關於父類引用指向子類物件

例如 有以下2個類 public class father public class son father father f new son 這種用法叫做 父類引用指向子類物件,或者叫 父類指標指向子類物件 指的是定義乙個父類的引用,而它實際指向的是子類建立的物件。好處是什麼?下面做幾個測試,第一種...