黑马程序员技术交流社区
标题:
类的继承,看晕我了~~有本事你来???
[打印本页]
作者:
青龙李坤
时间:
2015-6-3 23:53
标题:
类的继承,看晕我了~~有本事你来???
问题:当插入一下代码时在提示的地方,哪个声明将出现运行时异常???
class A{}
class B extends A{}
class C extends A{}
public class Test{
public static void main(String [] args){
A x=new A();
B y=new B();
C z=new C();
//插入代码???
}
}
(a) x=y;
(b) z=x;
(c) y=(B)x;
(d) z=(C)x;
(e) y=(A)x;
作者:
唐海
时间:
2015-6-4 00:15
c d 都是运行时异常吧
作者:
青龙李坤
时间:
2015-6-4 23:28
a能正常运行,b,e编译错误,因为试图为引用分配一个不兼容的类型.
作者:
青龙李坤
时间:
2015-6-4 23:30
对的,你理解的非常好!
作者:
刘鹏伟
时间:
2015-6-4 23:57
赞赞
作者:
杜黎明
时间:
2015-6-5 00:03
。。。。。赞一个
作者:
rexih
时间:
2015-6-5 00:09
(a) x=y;//父类引用指向子类对象,可行
(b) z=x;//子类引用不能直接指向父类对象。
(c) y=(B)x;//c,d都是把父类对象强转成子类赋给子类引用,但是类型是对的,编译时候是可以通过的,但是实际使用不适合的方法的时候还是会异常
(d) z=(C)x;
(e) y=(A)x;//问题同b,子类引用指向的父类对象。
作者:
guanyang
时间:
2015-6-5 00:19
我想在“插入代码”那里加上IF,if(插入代码){}
作者:
guanyang
时间:
2015-6-5 00:20
我想在“插入代码”那里加上IF,if(插入代码){ 如果相等,输出1,如果不相等输出2}
作者:
LoveMyself
时间:
2015-6-5 00:24
这道题不错
作者:
守株人
时间:
2015-6-5 00:31
赞一个。。。
作者:
hnyzhlq
时间:
2015-6-5 18:24
c、d是把父类强转成子类,编译是可以通过的,但是使用子类有而父类不具备的功能时会报错。
我有个问题是如果把子类强转父类引用编译是否能通过?
作者:
飘过的云
时间:
2015-6-5 21:34
学习了,父类引用能指向子类对象,子类引用不能指向父类对象,强制转换,要符合现实,猫是动物,狗也是动物,可以把本来是猫的动物,强制转换为毛,但不能把原本是狗的动物,转换成猫
作者:
1315317959
时间:
2015-6-5 21:59
new出来的应该地址值不一样吧 这样x=y x=z不正确吧
作者:
路途遥远
时间:
2015-6-5 22:02
在读.....
作者:
热血
时间:
2015-6-5 22:05
7楼正解
作者:
银哥
时间:
2015-6-5 22:12
看一下这道题
作者:
wwb1105
时间:
2015-6-5 22:13
学习学习 !~~
作者:
Tangtang
时间:
2015-6-5 22:17
这个嘛,绕久了是有些晕
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2