Java 的遗传性中constructor的问题

        今天学了什么呢?学了点算法,学了点Java。今天学的Java里印象比较深的就是关于遗传中constructor的问题了,所以就回顾一下吧。

        当创建一个类时,类会从object这个类中继承得到一个不需要任何参数的constructor(构造器),而如果自己又给这个类写了一个接受参数的构造器,那么原来默认继承到的constructor就会被override(重载),原来的constructor不再存在,那么当一个继承自这个类的子类需要通过super()调用这个无参数的constructor时就会发生错误,这是因为子类中对constructor的调用(若没有为子类单独写一个)会默认到父类上去寻找对应的无参数的constructor,而父类中这个constructor已经不存在了。由此得出一个很有用的结论:再重写了一个constructor后,一个好习惯就是不忘补上一个无参数的constructor。

posted @ 2017-03-19 23:44  Barry_Allen  阅读(143)  评论(1编辑  收藏  举报