构造方法不能被继承,但如果子类的构造方法里没有super(),则编译不通过,请问这具体是怎么一回事呢?请哪位高人帮我详细解释一下,很多书没有详细讲

解决方案 »

  1.   

    不是一定要super(),只要不带参数。还有super表示超类,super()应是由超类来做调用吧。
      

  2.   

    子类对象都包含一个父类的subObject ,也就是说子类有对父类的属性初始化的义务.所以子类对象初始化之前 要对这个从父类继承而来的属性初始化 也就是现有父亲再有儿子对父类属性的初始化是通过父类的构造函数来完成的比如 super(), super(xxx)不是说super()没有就不能编译通过而是说如果子类构造函数没有显式的调用某个父类的构造函数编译器就会默认调用super(),但是如果父类没有定义无参数的构造函数就发对父类属性初始化,肯定就会报错