永发信息网

一个JAVA题

答案:2  悬赏:10  手机版
解决时间 2021-04-11 11:56

当编译和运行下列程序段时,会发生什么? C

  class Base {}

  class Sub extends Base {}

  class Sub2 extends Base {}

  public class CEx{

   public static void main(String argv[]){

   Base b = new Base();

   Sub s = (Sub) b;

   }

  }

A 通过编译和并正常运行。 B 编译时出现错误。

C 编译通过,运行时出现异常。 D 以上都错

问为什么选C,最好能详细点,初学,谢谢。

最佳答案
(Sub)b ,这个地方涉及到了一个强制转换的问题,强制转化对于编译来说的话是不会报错的,当其在运行的时候,首先你要看清楚是Sub 继承了 Base,而不是Base继承了Sub,sub里面拥有父类base的所有特性,但base却不会完全包含sub里面的特性,这个时候如果强制转换的话在运行的时候肯定会报错的,强制转换只能把大类往小类上转,就像float转int一样,你不可能把int往float上转。这个地方如果写成
Sub B = new Sub();
Base s = (Base)b;
就对了
全部回答

会抛出类型转换异常,因为b是Base的实例,而Base并没有一个父类是Sub,所以无法转换

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
父母的一句无心之语会影响孩子的一辈子,不知
公主所见的梦境的主题曲是什么?
什么是置换反应?能详细讲一下吗,有加分
3a2b-6ab+9b=(________)(a2-2a+3)
坐支了现金怎么办,什么是坐支?为什么企业不能
华美广告制作地址在什么地方,想过去办事
友谊是谎言?
感恩主题班会问些什么问题
中国有叙利亚难民吗,叙利亚难民为什么不来中
几点有上海到东乡的火车
单选题Wedon'tpermit________here.A.smokeB.
有什么专门的男生的护肤品用呢?
在厦门月薪5700元需交多少个人所得税?
请问谁知道这个店铺的背景音乐叫什么呀?
如何让自己不想她?
推荐资讯
谁能给我蓝调粤语论坛的邀请码,万分感谢
华昌首饰店地址在哪,我要去那里办事
----Dad,doyoulikemypicture?----___________
为什么DNF不换代理?
怎么样说服女友的父母 我女友父母不同意是因
桐柏县南阳德克士(盛源百货店)哪位知道具体地
dnf上的圣职转什么好啊啊
天空为什么那么蓝?
知道别人微信帐号,怎么可以偷偷实时监控聊天
井头湾村的来源及历史
兆业街地址在什么地方,想过去办事
慈客隆超市唐外店在哪里啊,我有事要去这个地
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?