Re: [問題] 關於物件產生的繼承問題

看板java作者 (小叮噹愛吃銅鑼燒)時間18年前 (2007/05/03 23:21), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《lightening (認清事實 !_!)》之銘言: : 有三個class A B C : C繼承B B繼承A : 現在在main method內產生物件 : A ob1 = new C(); : 請問一下 這個ob1的物件與A跟C的關係為何? 貓(C)->貓類(B)->動物(A) 動物(A) 小花(ob1) = new 貓() 所以小花(ob1)是一隻貓(C),牠也是一隻動物(A) (多型) : == : 另一個強制轉型問題 : 如果有另外一個class D 也是繼承A : 而A內有宣告move method : 這時候用 : ((D)ob1).move(); : 會出現ClassCastException的例外 : 這個問題好像跟第一個問題有關係 : 我看的這本書寫的不太清楚 Q_Q : 麻煩大家幫我解答一下 謝謝 > < 同上 狗(D)->動物(A) ((狗)小花).move(); 會出現ClassCaseException 是因為貓怎麼可能將他強制轉型成狗呢:) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.129.85.56
文章代碼(AID): #16EVu0zy (java)
文章代碼(AID): #16EVu0zy (java)