父類對象由子類實例化【轉載】

這個涉及到 對象的多態性
父類對象由子類實例化,便是對象的多態性中的一種類型之一: 向上轉型

父類 父類對象=子類實例
意思就是說:咱們是使用子類來實例化對象,而這個對象倒是披上了「父類對象」的名稱
class A{ public void fun1(){} //定義父類中的fun1方法 public void fun2(){} //定義父類中的fun2方法 } class B extends A{ public void fun1(){} //覆寫父類A中的fun1方法 public void fun3(){} //定義子類本身的方法 } public class Test{ public static void main(...){ A a=new B(); a.fun1(); // 可執行 a.fun3(); //沒法執行,父類中沒有定義fun3方法 } } 
參考樓上那位的圖是不錯滴~我以爲挺正確的
還有在以上代碼中 :a.fun3(); 沒法執行,這就涉及到了 對象的多態中向下轉型。書裏應該有說道的。
做者:知乎用戶 連接:https://www.zhihu.com/question/23433483/answer/24573654 來源:知乎 著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。
相關文章
相關標籤/搜索