1, 如何证明创建GoodStudent时是否调用了Person的构造函数?
执行new GoodStudent()会调用默认构造函数
你可以在Person中写一个默认构造函数执行后你看有打印Person()就知道是否调用Person构造函数
public Person(){
System.out.println(“Person()”);
}
2,在GoodStudent中是否能指定调用Student的那个构造函数?(当然可以)
既然是想调用Student的那个构造函数,肯定有类似下面的构造函数
Student(){……}, Student(int age){……}, Student(String name,int age){……}
你只需要GoodStudent(){
Super();//会调用Student(){……},
}
GoodStudent(parameters){
Super(parameters);//会调用Student(int age){……}
}
GoodStudent(parameters1, parameters2){
Super(parameters1, parameters2);//会调用Student(String name,int age){……}
}
3,在GoodStudent中是否能指定调用Person的那个构造函数?
直接在GoodStudent中是不能指定调用Person的那个构造函数
但是可以间接的指定
你可以传一个状态值到Student中,然后再Student中选择掉用Person哪一个构造函数
下面我就不唉排的列举了,和上面的原理是一样的
|