下面是 People 和 Child 类的定义和构造方法,每个构造方法都输出编号。在 执行 new Child("mike") 的时候都有哪些构造方法被顺序调用?请写出输出结果
class People {
String name;
public People() {
System.out.print(1);
}
public People(String name) {
System.out.print(2); this.name = name;
}
}
class Child extends People {
People father;
public Child(String name) {
System.out.print(3);
this.name = name;
father = new People(name + ":F");
}
public Child() {
System.out.print(4);
}
}
public static void main(String[] args) {
new Child("mike");
}
132
1,
People中的public People()public People() { System.out.print(1); }2,
Child中的public Child(String name)public Child(String name) { System.out.print(3); this.name = name; father = new People(name + ":F"); }3,
People中public People(String name)public People(String name) { System.out.print(2); this.name = name; }
要调用子类中的public Child(String name)
先调用父类的无参构造函数 public People()
public People()中运行
father = new People(name + ":F");
调用有参构造函数
public People(String name)