子类的构造器不能访问父类的私有域,所以必须用的父类的构造器来对这部分的私有域进行初始化,我们可以通过super实现对父类的构造器的调用,使用super调用父类构造器的语句,必须放在子类构造器的第一句。
public Employee(String aName,int aAge,){
name = aName;
age = aAge;
}
public Manager extends Employee(String aName,int aAge){
super(aName,aAge);
bounds = 0;
}
如果子类的构造器没有显示的调用父类的构造器,则将自动的调用默认的构造器,如果父类中没有不带参数的构造器,并且子类的构造器中没有显示的调用父类中的其他构造器,则会报错。
super关键字有两个用途:调用父类的方法
调用父类的构造器
this关键字有两个用途,引用隐式参数
调用该类其他的构造器