本帖最后由 肖晓峰 于 2012-11-17 13:49 编辑
class Furit{
}
class Apple extends Furit{
void makeApple(){
}
}
class Delicious extends Apple{
}
定义一个类型变量 :
Furit furit = new Delicious();
问 furit 可以调用makeApple方法吗?
我的答案是 不可以 因为父类虽然引用的是子类实例,但是父类本类中没有该方法 直接调用编译器会出现编译错误。
需要进行显示向下转换成Apple类型或者Delicious类型才能调用
但是书上的答案是 可以 但是没有解释。
我很困惑
|