黑马程序员技术交流社区
标题: 求答案详解 [打印本页]
作者: wuchangfeng 时间: 2015-7-18 22:31
标题: 求答案详解
分析如下Java代码,如果想在控制台上输出“B类的test()方法”,则在主函数应填入( )。
class A {
public void test() {
System.out.println("A类的test()方法");
}
}
class B extends A {
public void test() {
System.out.println("B类的test()方法");
}
public static void main(String args[]) {
}
}
A. A a = new B();
a.test();
B. A a = new A();
a.test();
C. B b = new A();
b.test();
D. new B().test();
作者: 751309401 时间: 2015-7-18 23:05
A
多态,重写,你好好看看多态的概念就懂了
作者: 辉大大 时间: 2015-7-18 23:31
A、D 一个多态,一个匿名对象的使用
作者: wuchangfeng 时间: 2015-7-19 09:22
对于匿名对象还是不太懂,再看下视频吧
作者: wuchangfeng 时间: 2015-7-19 09:23
对于匿名对象还是不太懂,再看下视频吧
作者: wuchangfeng 时间: 2015-7-19 09:25
主要还是对匿名对象不了解
作者: wing-SF 时间: 2015-7-19 10:00
本帖最后由 wing-SF 于 2015-7-19 10:03 编辑
答案:A、D
A: 父 父=new 子();是可以的,这样会创建一个子类的对象,然后调用该对象的test方法。B: 父 父=new 父();也是编译可以通过的,这样是new了一个父类的对象,并且调用父类的test方法,结果不是我们想要的
C: 子 子=new 父();这样编译时通不过的,子类对象的引用不能指向父类对象
D: new 子().test();是可以的,这个new 子()会创建一个匿名的子类对象,然后使用"."操作符,调用该子类对象的test方法
作者: wuchangfeng 时间: 2015-7-19 10:13
非常感谢,最近学着感觉没什么思路,好多东西写了不知道什么意思
作者: 辉大大 时间: 2015-7-19 15:27
匿名对象就是个没名字的对象;
相对于A. A a = new B();
a.test();
对于 D来说. new B().test();就相当于a.test();
作者: CLTDEZHUCE 时间: 2015-7-19 16:11
多态,重写
作者: wuchangfeng 时间: 2015-7-19 18:18
嗯 刚入门,知识点太多,记不住
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |