1.父类的构造方法是不会被子类继承的,但是子类的构造方法中会有一个隐式的super()来调用父类中的无参数构造方法。
验证代码如下:
public class FatherClass {
int a;
int b;
public FatherClass() {
a = 10;
}
public FatherClass(int b) {
this.b = b;
}
}
public class Test extends FatherClass{
public static void main(String[] args) {
Test t = new Test();
System.out.println(t.a);
System.out.println(t.b);
}
}
执行Test类,输出结果是10和0。
2.如果子类调用了父类的有参构造方法,就不会再有隐式super()的调用父类的无参构造了
public class FatherClass {
int a;
int b;
public FatherClass() {
a = 10;
}
public FatherClass(int b) {
this.b = b;
}
}
public class Test extends FatherClass{
public Test(int b) {
super(b);
}
public static void main(String[] args) {
Test t = new Test(10);
System.out.println(t.a);
System.out.println(t.b);
}
}
输出结果0和10
3.抽象类本身不能被实例化,但是可以有构造方法。