測試子類物件賦值給父類的引用

2021-08-30 14:50:09 字數 463 閱讀 6036

public class testget

public void b()

}public class testget2 extends testget

public static void main(string args)

}//列印結果是bbb

修改下**

public class testget

public void b()

}public class testget2 extends testget

public static void main(string args)

}//列印出來什麼呢

結果是aaa

為什麼呢?原因就在靜態方法不存在多型性。是testget 的就是testget 的,不會是testget2的靜態方法。此外static方法不存在子類覆蓋父類。他們屬於類本身所有物件所共享。

父類引用子類物件

父類引用子類物件 package test class fruit1 string get1 父類引用子類物件 如果父類的方法可以被重寫 靜態方法不能被重寫,因為它是隨著類的建立而存在於記憶體,只有乙份 並且已經重寫,那麼呼叫的是子類的方法 反之,則呼叫父類裡的方法 public class fru...

父類引用指向子類物件

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

父類引用指向子類物件

是多型的一種實現方式 這樣做使程式靈活性更好,若有多個子類,只需改變引用就能實現不同的功能,而不需要改變程式 父類 a 子類 a1,a2 a obj1 new a1 a obj2 new a2 如果a有乙個方法是show 子類實現了show 那麼obj1.show 就是第乙個子類的show obj2...