当前页面: 开发资料首页 → J2SE 专题 → 当extends一个类时,构造函数是否还需要super?
当extends一个类时,构造函数是否还需要super?
摘要: 当extends一个类时,构造函数是否还需要super?
感觉都继承自一个类了,没必要再用super构造了吧?
"用super构造"我不明白你指的是什么.
子类必须调用父类的构造方法.如果你不明试的调用,那么会自动调用父类无参的构造方法.
如果恰好父类没有无参的构造方法,就会报错.
如果你不提供任何构造方法,就会有一个默认构造方法,是无参的.但是如果你写了构造方法,就没有默认构造方法了.
up
我见好多代码构造子类的时候,都显示写明super(),如class a extends b{
a(){
super();
}
是不是super()没有必要呢?
看情况构造,有惨SUPER()无参就不用了
补充点点:
创建对象时,java虚拟机首先执行父类的构造方法,然后执行子类的构造方法,这样可以保证子类对象从所有直接或者间接继承的实例变量都被正确的初始化。(总是先有父亲才能生出儿子的)关于构造方法的参数问题。楼上的都解释了
非成就大事之人