ITPub博客

首页 > > > java子类调用父类构造函数的问题?

java子类调用父类构造函数的问题?

作者:petterchx 时间:2019-10-08 17:51:08 0 删除 编辑

本人刚接触java,对子类调用父类构造函数的问题有点迷糊,写了代码验证了自己的想法但不知道原因。望得到老师指导,感激!

我的理解是子类在创建对象时会先调用父类的相关构造函数,再调用子类自身的构造函数,不知道我的理解对不对。代码如下:

class ExampleExtend

  {

     int ex1,ex2;

     ExampleExtend()

{

      System.out.println("这是一个父类的无参构造函数;");

     }

     ExampleExtend(intex1,int ex2)

     {

      this.ex1=ex1;

      this.ex2=ex2;

      System.out.println("ex1="+ex1+"\n"+"ex2="+ex2);

      System.out.println("这是一个父类的2参数构造函数;");

    }

  }classExtendextends ExampleExtend

  {

    Extend()

      {

        super(3,4); //为什么加上super以后就不执行父类的构造函数呢?System.out.println("子类的构造函数结束");

      }publicstaticvoid main(String[] args)

  {

    Extend A =new Extend();

  }

}

Question:

在没有红色行代码的时候,程序先执行了父类的无参构造函数,接着执行了子类的构造函数;

当加上红色行代码后,虽然人为的调用了父类的2参构造函数,可是为什么父类的无参构造函数没有先执行?毕竟我创建的A类对象不传参。

另外,即使我的子类构造函数也传递2个参数,在没有红色行代码的时候,程序依旧先执行父类的无参构造函数,这是为什么?谢谢!

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4606/viewspace-3157003/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: flashpaper加载组件
请登录后发表评论 登录
全部评论

注册时间:2019-10-24

  • 博文量
    131
  • 访问量
    30132