1.子类可以通过super关键字来显式地调用父类的构造函数。
2.当父类没有提供无参数的构造函数时,子类也不可以有无参构造函数,且子类的构造函数中必须显式的调用父类的构造函数;
3.如果父类提供了无参数的构造函数,此时子类的构造函数就可以不显式的调用父类的构造函数,默认调用父类的无参构造函数。
4.只要父类有无参构造函数,子类不写构造函数或者不调用super(..)方法,则默认调用父类的无参构造函数
5.父类没有无参构造函数,则子类必须定义有参构造函数(且必须调用super(*))。
public class demo_fuzi {
public static void main(String[] args) {
B b = new B("1",2);
B.getName();
}
}
class A{
public A(int i) {
System.out.println("A:有参");
}
/*public A() {
System.out.println("A");
}*/
public static void getName(){
System.out.println("B:getName");
}
}
class B extends A{
public B(String i,int j) {
super(j);
System.out.println("B");
}
/*public B() {
System.out.println("B");
}*/
public static void getName(){
System.out.println("B:getName");
}
}