关于构造方法的继承

来源:互联网 发布:苏州java培训 编辑:程序博客网 时间:2024/05/19 07:07

class A{
  public A(){} // 1:无参数构造方法。
  public A(String s){} // 2.
}

class B extends A{
public B(String s){
    super(s); // 3.
}
}

说明:如果没有1处的无参数构造方法,那么3处一定要主动调用父类带参数的构造方法。
如果有1处的构造方法,那么3处代码可以不要,因为Java会自动默认调用父类的无参数构造方法。

记住一点:在构造子类时,一定会调用到父类的构造方法。
所以父类要么有一个默认的无参数构造,这样Java会自动调用这个无参数的构造。如果父类没有无参数的构造,那么就要你自己在子类的构造中,通过super()的方式调用父类的构造

父类一般要有一个无参数的构造方法是因为我们的子类如果没有显性的调用父类的构造函数的话就会默认加入super();即调用父类的无参数构造函数,当父类没有无参数构造函数就会报错哦,这就是要加入一个无参数构造函数的原因。

 

原创粉丝点击