public class Base {
/*public Base() {
System.out.println("Base 类的初始构造方法");
}*/
public Base(int x) {
System.out.println("Base 类的重载构造方法");
}
public void a() {
System.out.println("Base:a()");
}
public void b() {
// this 在哪个类里就是哪个对象本身
this.a();
}
public static void main(String[] args) {
Base obj = new Base(2);
obj.b();
}
}
public class Sub extends Base{
public Sub() {
// 默认调用不带参数的构造方法,因为父类没有不带参数的构造方法,所以要显示调用带参数的构造方法
//super();
// 调用父类的构造方法
super(100);
// 调用父类的方法
super.a();
System.out.println("Sub类的初始化构造方法");
}
public static void main(String[] agrs) {
// 子类对象构造时会先调用父类的构造方法
Sub obj = new Sub();
}
}
Base 类的重载构造方法
Base:a()
Sub类的初始化构造方法