父类是否有构造函数分2类:
1。父类没有构造函数,那就不用说了,都没有调用不了。
2。父类有构造函数 也分2类:
(一) 子类重写父类构造函数,那就用自己重写的构造函数。
(二) 子类的构造函数与父类的不一样, 子类必须调用父类的构造函数,在子类构造函数前应先 写上super.() ,若你没写这句,系统默认自动给你调用父类中无参数的构造函数(但是如果你父类没有无参的构造函数,而你又没super.()的话 编译就会报错!)。
自己去试试吧。 good luck。。。
不需要,子类可以有自己的构造函数,也可以调用父类的。不过实例化子类的时候会先调用父类的构造函数。
若父类有构造函数,而子类若没有重写构造函数,那么是一定要调用的。
当然如果你重写了,那就只调用你自己新写的构造函数了。
如果父类有自己定义的构造器,也就是非无参构造器
子类需要显示调用super关键字来调用父类构造器
否则编译无法通过
看一下“里氏替换原则”,你可能理解的更透彻一些!