黑马程序员技术交流社区
标题:
如何证明子类对象在创建时是否调用了父类对象
[打印本页]
作者:
汪小照
时间:
2012-9-21 18:53
标题:
如何证明子类对象在创建时是否调用了父类对象
本帖最后由 汪小照 于 2012-9-22 12:12 编辑
有这样三个类,Person,Student.GoodStudent。其中Student继承了Person,GoodStudent继承了Student,三个类中只有默认的构造函数,用什么样的方法证明在创建Student类的对象的时候是否调用了Person的构造函数,在创建GoodStudent类的对象的时候是否调用了Student构造函数?如果在创建Student对象的时候没有调用Person的构造函数,那么采用什么样的手段可以调用父类的构造函数?
作者:
赵宇
时间:
2012-9-21 19:00
在构造方法里打印一句话不就知道了
作者:
赵宇
时间:
2012-9-21 19:01
调用父类的构造可以在子类构造中写 this.super()
作者:
赵宇
时间:
2012-9-21 19:03
想看的更清楚的话打断点跟一下就知道了
版主 我不是恶意刷屏 我是断断续续的想办法。
作者:
严海荣
时间:
2012-9-21 19:08
class Person{
Person(){
System.out.println("Person!");
}
}
class Student extends Person{
Student(){
System.out.println("Student!");
}
}
public class GoodStudent extends Student {
GoodStudent(){
System.out.println("GoodStudent!");
}
public static void main(String[] args) {
new Student();
System.out.println("-------");
new GoodStudent();
}
}
复制代码
在默认构造函数中打印个语句就可以知道了。
创建Student对象调用了Person的构造函数。
调用GoodStudent对象调用了Student的构造函数,同时也调用了Person的构造函数。
记住:子类继承父类,父类的属性和方法都在子类中有一份,只是被隐藏了。
作者:
聽聽我dē❤
时间:
2012-11-15 19:51
嗯,说的对,但感觉这有点和题意不同了,“三个类中只有默认的构造函数”???
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2