Re: [問題] 多型請教
我剛剛實際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)
討論串 (同標題文章)