读书人

问一个面对对象中的有关问题

发布时间: 2012-12-22 12:05:07 作者: rapoo

问一个面对对象中的问题,在线等
class Building(){

public class Barn extends Building{
Building build1=new Building();
Barn barn1=new Barn();
Barn baen2=new Barn();//10
Object obj1=(Object)build1;//11
String str1=(String)build1;//12
Building build1=(Building)barn1;//13

}
}

a 如果第10行删除 the compilation succeds
b 如果第11行删除 the compilation succeds
c 如果第12行删除 the compilation succeds
d 都不能删除
[最优解释]

引用:
子类可以转化为父类,父类不能转子类,Building和object都是Barn 的父类,所以可以,String类跟没有任何关系,当然不能转了



[其他解释]
c 我任我是 这个你可以上机试试 就是子类上转型的问题
[其他解释]
子类可以转化为父类,父类不能转子类,Building和object都是Barn 的父类,所以可以,String类跟没有任何关系,当然不能转了
[其他解释]
这是类的上溯机制,就是说子类对象可以赋值给父类,父类对象不能赋值给子类。
[其他解释]
删c选项,类型不匹配
[其他解释]
选c,String与这两个类都无关,所以不能转换,b是向上转型,用基类引用指向子类对象

读书人网 >J2SE开发

热点推荐