课后作业7继承

动手动脑1.

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

代码:

结果:

改变parent类之后:

结果:

但是如果把super加在后面,就会显示错误。

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

动手动脑2.为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么不能反过来?

因为子类继承了父类,那么就默认的含有父类的公共成员方法和公共成员变量,这些方法和变量在子类里不再重复声明。所以必须先调用父类的构造函数。

 

posted @ 2016-11-11 13:13  baiyue  阅读(121)  评论(0编辑  收藏  举报