首页 > 其他 > 详细

动手实验:继承条件下的构造方法调用

时间:2015-11-07 23:21:50      阅读:335      评论:0      收藏:0      [点我收藏+]

class Grandparent {

public Grandparent() {
System.out.println("GrandParent Created.");
}

public Grandparent(String string) {
System.out.println("GrandParent Created.String:" + string);
}
}

运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个构造函数,注意这句调用代码是否是第一句,影响重大!
 

class Parent extends Grandparent {

public Parent() {
//super("Hello.Grandparent.");
System.out.println("Parent Created");
// super("Hello.Grandparent.");
}
}

class Child extends Parent {

public Child() {
System.out.println("Child Created");
}
}

public class TestInherits {

public static void main(String args[]) {
Child c = new Child();
}
}

技术分享

 

super放在第一句:

技术分享

super不放在第一句:

技术分享

 

结论:

通过 super 调用基类构造方法,必须是子类构造方法中的第一个语句。

动手实验:继承条件下的构造方法调用

原文:http://www.cnblogs.com/meng-1204/p/4946286.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!