凯青 2023-06-17 12:04 采纳率: 90.9%
浏览 34
已结题

子类继承父类,哪里继承错了︖

img


请问子类哪里继承不对父类︖感谢感谢。为什么这样做︖请给个答案,谢谢啦!

  • 写回答

4条回答 默认 最新

  • a5156520 2023-06-17 12:10
    关注

    下面是我的理解,供参考:

    正确答案是D。

    A,错误,是因为子类构造器默认调用父类无参的构造器,在这个例子中,父类Father的构造器是有参的构造器,没有定义无参的构造器,所以子类构造器中需要显式调用父类有参构造器才能通过编译,所以错了.

    B,错误,因为子类没有定义带参数的有参构造器,所以错了;

    C, 错误, 同B选项一样, 子类没有定义带参数的构造器。

    所以,正确答案是D。

    测试代码如下:

    参考链接:

    
    
    public class Father {
        int x;
        Father(int a){
            x=a;
        }
        
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Son s = new Son();
            System.out.println(s.x);
            
            Son s2 = new Son(10);    
            System.out.println(s2.x);
            
            Father s3 = new Son(10);
            System.out.println(s3.x);
            
        }
    
    }
    
    class Son extends Father{
        
        // https://blog.csdn.net/wei_zhi/article/details/52780026
        Son(){ 
            // 因为父类定义了有参的构造器,而没有定义无参的构造器
            // 所以子类需要显式调用父类有参的构造器
            super(2);
        }
        
         Son(int i) {
             // 同上,这里同样显式使用父类的有参的构造器
             super(i);
        }
        
    }
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 6月30日
  • 已采纳回答 6月22日
  • 创建了问题 6月17日

悬赏问题

  • ¥65 LineageOs-21.0系统编译问题
  • ¥30 关于#c++#的问题,请各位专家解答!
  • ¥15 App的会员连续扣费
  • ¥15 不同数据类型的特征融合应该怎么做
  • ¥15 用proteus软件设计一个基于8086微处理器的简易温度计
  • ¥15 用联想小新14Pro
  • ¥15 multisim中关于74ls192n和DSWPK开关仿真图分析(减法计数器)
  • ¥15 w3wp,exe 中发生未处理的 Microsoft ,NETFramework 异常。
  • ¥20 C51单片机程序及仿真(加减器)
  • ¥15 AQWA | 水动力分析 二阶波浪力