A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 不服™け你咬我 中级黑马   /  2014-8-29 22:51  /  955 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有这样三个类,Person、Student、GoodStudent。
其中GoodStudent继承于Student,Student继承于Person。
如何证明创建GoodStudent时是否调用了Person的构造函数?
在GoodStudent中是否能指定调用Student的哪个构造函数?
在GoodStudent中是否能指定调用Person的哪个构造函数?

4 个回复

倒序浏览
你在构造函数中加一句out.print就可以看到结果了
回复 使用道具 举报
所有构造函数都打印点不同的东西就可以去验证了~
使用super(参数列表):调用符合参数列表的父类构造函数;必须写在子类第一行
GoodStudent中是否能指定调用Person的哪个构造函数?
一般这是不能的,GoodStudent只能调用自己父类Student的构造方法,自己父类Student的构造方法又会去调用Person的构造方法,一层层调用上去的;
除非楼主你自己去编写java的源代码,期待哪一天!
回复 使用道具 举报
如何证明创建GoodStudent时是否调用了Person的构造函数?
  1. public Person()
  2. {
  3. System.out.println("调用person()");
  4. }
复制代码

在GoodStudent中是否能指定调用Student的哪个构造函数?
  1. class Student
  2. {
  3. private String name;
  4. public Student(){}
  5. public Student(Stirng name)
  6. {
  7. this.name = name;
  8. }
  9. }
  10. class GoodStudent extends Student
  11. {
  12. public GoodStudent(String name)
  13. {
  14. super(name);//这里调用的是Student类中的Student(String name)构造函数
  15. }
  16. }
  17. //也就是说需要调用父类的哪个构造函数,就给super()传入相对应的参数即可。
复制代码

在GoodStudent中是否能指定调用Person的哪个构造函数?
同上,GoodStudent可以通过super调用父类Student的构造函数,Student可以通过super调用Person的构造函数。
回复 使用道具 举报
  你这个层次结构貌似不对吧,你student类都没继承person类,那么你怎么使用person类中定义的构造函数呢?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马