Re: [問題] 多型請教

看板java作者 (這就是人生嗎)時間15年前 (2010/03/24 17:57), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
我剛剛實際run了一下程式,再詳細看了書, 原來書的答案沒錯~ 他是寫說 compile error 的是 只有3 1是run time時期才有問題,compile time 是可以過的。 是我搞錯了~ QQ 那這樣我又有一個問題, 1是run time時期會有ClassCastException,這我是了解的, 那為什麼3的錯誤是在編譯時期呢? (3的錯誤: inconvertible types) 是因為強制轉型的檢查是在編譯時期處理的嗎? 腦袋快打結了XD 真的頭昏昏,把 3 打成 2 XD ※ 引述《freewhat (這就是人生嗎)》之銘言: : class Building { } : public class Barn extends Building : { : public static void main(String[] args) : { : Building build1 = new Building(); : Barn barn1 = new Barn(); : Barn barn2 = (Barn) build1; //1 : Object obj1 = (Object) build1; //2 : String str1 = (String) build1; //3 : Building build2 = (Building) barn1; //4 : } : } : 上面的程式,我知道 2 , 4 是對的,3是錯的。 : 書上寫1也是對的,可是這樣 父類別實體轉成子類別 有符合多型的精神嗎? : 總覺得1怪怪的,能開導我一下嗎XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 115.43.220.48 ※ 編輯: freewhat 來自: 115.43.220.48 (03/24 18:34)
文章代碼(AID): #1BgU7_of (java)
討論串 (同標題文章)
文章代碼(AID): #1BgU7_of (java)