作者tkcn (小安)
看板java
标题Re: [问题] 多型请教
时间Wed Mar 24 18:23:23 2010
※ 引述《freewhat (这就是人生吗)》之铭言:
: 我刚刚实际run了一下程式,再详细看了书,
: 原来书的答案没错~ 他是写说 compile error 的是 只有2
: 1是run time时期才有问题,compile time 是可以过的。
: 是我搞错了~ QQ
: 那这样我又有一个问题,
: 1是run time时期会有ClassCastException,这我是了解的,
: 那为什麽2的错误是在编译时期呢?
: (2的错误: inconvertible types)
: 是因为强制转型的检查是在编译时期处理的吗?
: 脑袋快打结了XD
因为 String 和 Building 根本是在不同的 Inheritance chains 上
Object --- String
\
-- Building --- Barn
如果你能用 Building 型态去 reference 一个物件(如变数 build1),
该物件就绝对不可能是 String (或着 String 的 sub-class)。
这种检查在 Compile 时期就找得出来了。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.160.117
1F:推 freewhat:感谢 03/24 18:34