黑马程序员技术交流社区

标题: 被这道题坑了 [打印本页]

作者: 纸心丶醉月    时间: 2015-8-23 21:56
标题: 被这道题坑了
class Base {
        public void method(){
                System.out.print ("Base method");
        }
}
class Child extends Base{       
        public void methodB(){
                System.out.print ("Child methodB");
        }
}
class Sample {
        public static void main(String[] args) {
                Base base = new Child();
                base.methodB();
        }
}
输出结果是多少?


作者: 仨儿先森    时间: 2015-8-23 22:03
这题是有什么陷阱吗?
作者: 纸心丶醉月    时间: 2015-8-23 22:08
仨儿先森 发表于 2015-8-23 22:03
这题是有什么陷阱吗?

不是多态方法看右边吗,结果我选了个Child methodB ,结果父类中没有这方法,草
作者: 墨染    时间: 2015-8-23 22:09
首先编译会不通过,父类中没有methodB,要强转成child类型
作者: iamzk    时间: 2015-8-23 22:11
楼上正解
作者: 殷俊    时间: 2015-8-23 22:12
纸心丶醉月 发表于 2015-8-23 22:08
不是多态方法看右边吗,结果我选了个Child methodB ,结果父类中没有这方法,草 ...

你没记全,应该是编译看左边,运行看右边,左边都没有实现,右边怎么实现了?嘿嘿
作者: 亦如梦幻泡影    时间: 2015-8-23 22:20
编译失败  编译看左边  运行看右边  编译时左边父类中没有那个方法所以失败
作者: lf900827    时间: 2015-8-23 22:37
编译报错,父类没有methodB方法,编译通过不了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2