Animal是Cat類的父類。兩個不同分配的子類別的區別
public static void main (String[] args)
{
Animal myCat1 = new Cat; //Allocation 1
Cat myCat2 = new Cat; //Allocation 2
}
什麼是兩種分配的diffrerence ??每一個是真實的,不是嗎?
Animal是Cat類的父類。兩個不同分配的子類別的區別
public static void main (String[] args)
{
Animal myCat1 = new Cat; //Allocation 1
Cat myCat2 = new Cat; //Allocation 2
}
什麼是兩種分配的diffrerence ??每一個是真實的,不是嗎?
這些都不是有效的。你需要()
。除此之外:
您可以通過任何超的指向任何對象,達Object
。這是多態性。
我仔細閱讀了您所談論的頁面,並掌握了這些代碼。但是,代碼與多態性之間的關係是什麼??我不明白什麼是多態性?在頁面結尾處說:Java虛擬機(JVM)爲每個變量中引用的對象調用適當的方法。它不調用變量類型定義的方法。這種行爲被稱爲虛擬方法調用,並演示了Java中重要的多態特性的一個方面。我不明白這是什麼意思?你能澄清一下嗎? – oiyio 2012-04-07 18:56:47
要回答你的問題: 沒有什麼區別 - 在這兩種情況下,'新的Cat()'分配一個Cat類的實例。 兩者都是真實的 - myCat1是一種動物(實際上是一隻貓),myCat2是一隻貓。
有區別!您不能在myCat1引用上調用Cat方法,因爲它聲明瞭Animal,因此只有Animal方法可用。對於myCat2,動物和貓的方法都可以稱爲 – 2012-04-07 17:14:39