黑马程序员技术交流社区
标题: 看此题 [打印本页]
作者: tianzhu2725 时间: 2016-6-18 06:31
标题: 看此题
这是我们基础班结束后考试的一道题,感觉是选cd不知道对不对 大家看下答案到底是哪个?并解释下,以便让更多同学学习,谢谢
class ClassA{}
class ClassB extendsClassA{}
class ClassC extendsClassA{}
以及
ClassA p0 = newClassA();
ClassB p1 = newClassB();
ClassC p2 = newClassC();
ClassA p3 = newClassB();
ClassA p4 = newClassC();
A.p0 =p1;
B.p1 =p2;
C.p1 =(ClassB)p3;
D.p2 =(ClassC)p4;
作者: 安静的喝会奶 时间: 2016-6-18 08:56
全部都是错的 new ClassA() 能不能中间加个空格
作者: 安静的喝会奶 时间: 2016-6-18 08:58
全部都是错的 new ClassA() 能不能中间加个空格
作者: 安静的喝会奶 时间: 2016-6-18 09:00
公司早上网速太差,居然发重了
作者: tianzhu2725 时间: 2016-6-18 19:22
那个是格式没写好 总应该有对的把
作者: 745661590 时间: 2016-6-18 20:08
我也认为 cd
作者: 745661590 时间: 2016-6-18 20:10
c 中先让 P3父类引用子类对象 P3是 classB的一员 但是是A的类型 再用强转成(ClassB)p3 向下转型
作者: 大笑哈哈 时间: 2016-6-18 21:39
ACD
a,父类引用指向子类对象
cd 先父类引用指向子类对象 ,所以可以向下强转
作者: chengxiankun 时间: 2016-6-18 22:00
我觉得应该是正确的,我觉得A不对,因为A类的引用指向,子类的对象,应该进行显示类型转换才可以
作者: 安静的喝会奶 时间: 2016-6-19 08:45
不好意思,我把复制看成等号了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |