java基础:继承中的构造方法规则
一:相关规则
(1)子类的构造过程中必须调用父类的构造方法
(2)子类可以在自己的构造方法中使用super(argumentList)来调用父类的构造方法;
使用this(argumentList)调用本类的其他构造方法
如果使用super(argumentList)来调用父类的构造方法,必须写在子类构造方法的第一行。
(3)如果子类的构造方法中没有明确地调用父类的构造方法,则默认调用无参的构造方法。相当于在子类构造方法中默认执行super()
(4)如果子类构造方法中,即没有显示地调用父类的构造方法,而基类中也没有无参的构造方法,则编译不通过。
二:看一个例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
public class SuperClass {
private int n;
public SuperClass() {
System.out.println("SuperClass");
}
public SuperClass(int n) {
System.out.println("SuperClass ---n = "+n);
this.n = n;
}
}
public class SubClass extends SuperClass{
private int n;
public SubClass(int n) {
//super();
System.out.println("SubClass n ="+ n);
this.n = n;
}
SubClass(){
super(100);
System.out.println("SubClass");
}
}
public class Test {
public static void main(String[] args) {
//SubClass sc = new SubClass();
SubClass sc = new SubClass(400);
}
}
|
来自CODE的代码片
继承中的构造方法
执行结果:
SuperClass
SubClass n =400

浙公网安备 33010602011771号