首先,正如以上各位仁兄所说,子类构造器会默认调用 父类的无参构造器,如果父类没有无参构造器,则需在子类构造器的第一行显式地调用父类的其他构造器。其次,从继承的思想来看,你继承一个类,就相当于扩展一个类,形成一个更为特殊的类,但经常,我们需要将子类向上转型为基类,以便使用或达到其他各种目的。这时,如果你生成子类对象时没有调用父类的构造器,那么,我们在使用父类的一些成员变量的时候,就会报变量未初始化的错误。请记住,变量初始化总是在构造器调用之前完成!
先有父类才有子类 new出子类的实例 时执行的构造方法会默认调用父类的不带参数的构造方法
没有为什么,设计就是这样。默认情况下,如果没有显式调用父类构造器,则调用默认的那一个。而如果你父类已经实现了其他构造器了,则不存在默认构造器了,所以就没法调用默认的了。
孜孜不倦,必能求索;风尘仆仆,终有归途。
posted on 2016-07-20 22:16 雪的心 阅读(568) 评论(0) 编辑 收藏 举报