Java继承实例
该取材于PTA中的java测试:
代码实例:
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);
}
}
测试代码:
class Test {
public static void main(String[] args) {
new Child("520");//输出结果为:132
new Child(); // 输出结果为:14
}
}
**问题:**为什么构造对象的是或它会输出数字呢?
**解释:**父类分析:有一个成员为 name 两个构造方法,子类也有两个构造方法。
在Test类中,调用Child类中的有参构造,传入一个字符串,构造一个对象。
在构造对象时会运型构造方法,首先是调用父类的无参构造方法输出‘1’然后掉用子类的有参构造输出‘3’,而子类中的有参构造又调用了父类的有参构造输出‘2’。
我知道我的解释不是很完善,望大佬在评论区为我解疑。
有参构造又调用了父类的有参构造输出‘2’。
我知道我的解释不是很完善,望大佬在评论区为我解疑。