父类只有有参构造函数,子类如何处理
父类:
1 public class Hero { 2 String name; 3 float hp; 4 public Hero(String name) { 5 this.name=name; 6 } 7 }
子类:
1 public class ADHero extends Hero { 2 public ADHero() { 3 4 super(""); 5 } 6 }
注释:
作为子类,无论如何 都会调用父类的构造方法。
默认情况下,会调用父类的无参的构造方法。
但是,当父类没有无参构造方法的时候( 提供了有参构造方法,并且不显示提供无参构造方法),子类就会抛出异常,因为它尝试去调用父类的无参构造方法。
这个时候,必须通过super去调用父类声明的、存在的、有参的构造方法