黑马程序员技术交流社区

标题: 这个代码最后是什么 [打印本页]

作者: likonglin110    时间: 2016-6-1 22:50
标题: 这个代码最后是什么
4.        编译运行如下Java代码,输出结果是(  D )。
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();
        }
}
        A.        Base method
        B.        Child methodB
        C.        Base method Child MethodB
        D.        编译错误

作者: 18611643318    时间: 2016-6-1 23:23
编译看左边,运行看右边.

编译时,Base 类里面并没有methodB方法,所以报错了.
作者: tianzhu2725    时间: 2016-6-1 23:51
楼上说的很对
作者: zhoubinjian    时间: 2016-6-2 11:17
这道题是考你多态,多态有个弊端,不能访问子类的特有数据,methodB()是子类的特有数据,所以编译会报错 的
作者: 新晋猿工    时间: 2016-6-2 12:36
理解了[]~( ̄▽ ̄)~*
作者: 钱金磊    时间: 2016-6-2 16:06
向上转型的注意点!
作者: likonglin110    时间: 2016-6-2 18:47
18611643318 发表于 2016-6-1 23:23
编译看左边,运行看右边.

编译时,Base 类里面并没有methodB方法,所以报错了.

好的  知道啦
作者: 黑猫的消失    时间: 2016-6-2 19:02
调用方法:编译看左边,运行看右边。
调用变量:编译看左边,运行看左边。
作者: 云袭    时间: 2016-6-2 21:54
温故知新,有点忘了..
作者: 菜鸟征程    时间: 2016-6-2 22:01
说的对!!!
作者: 15232636900    时间: 2016-6-2 22:04
多态你该好好看看了




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