A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 纸心丶醉月 中级黑马   /  2015-8-23 21:56  /  615 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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();
        }
}
输出结果是多少?

7 个回复

倒序浏览
这题是有什么陷阱吗?
回复 使用道具 举报
仨儿先森 发表于 2015-8-23 22:03
这题是有什么陷阱吗?

不是多态方法看右边吗,结果我选了个Child methodB ,结果父类中没有这方法,草
回复 使用道具 举报
首先编译会不通过,父类中没有methodB,要强转成child类型
回复 使用道具 举报
楼上正解
回复 使用道具 举报
纸心丶醉月 发表于 2015-8-23 22:08
不是多态方法看右边吗,结果我选了个Child methodB ,结果父类中没有这方法,草 ...

你没记全,应该是编译看左边,运行看右边,左边都没有实现,右边怎么实现了?嘿嘿
回复 使用道具 举报
编译失败  编译看左边  运行看右边  编译时左边父类中没有那个方法所以失败
回复 使用道具 举报
编译报错,父类没有methodB方法,编译通过不了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马