作者callmesaga (小叮当爱吃铜锣烧)
看板java
标题Re: [问题] 关於物件产生的继承问题
时间Thu May 3 23:21:35 2007
※ 引述《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