如果在子类的构造方法中,没有使用关键字super调用父类的某个构造方法,那么默认有super();语句,即调用父类的不带参数的构造方法。
时间: 2023-06-16 08:07:09 浏览: 173
是的,如果在子类的构造方法中没有使用关键字`super`调用父类的某个构造方法,那么编译器会默认在子类的构造方法中插入一个不带参数的`super()`语句,用于调用父类的不带参数的构造方法。如果父类没有提供不带参数的构造方法,而子类又没有显式地调用父类的构造方法,则编译器会报错。因此,在子类的构造方法中,如果需要调用父类的构造方法,一定要使用`super`关键字显式地调用。
相关问题
java中如果在子类的构造方法中,没有使用关键字super调用父类的某个构造方法,那么默认有super();语句,即调用父类的不带参数的构造方法
是的,如果子类的构造方法没有使用 `super` 调用父类的构造方法,则编译器会默认在子类的构造方法中加入一个 `super()` 语句,即调用父类的不带参数的构造方法。如果父类没有提供不带参数的构造方法,则子类必须显式地使用 `super` 关键字调用父类的有参构造方法。如果父类没有提供任何构造方法,则子类必须显式地使用 `super` 关键字调用父类的默认构造方法,并且父类必须提供默认构造方法。
如果在子类的构造方法中,没有显示地写出super关键字来调用父类的某个构造方法,那么编译器默认地有: superO;调用父类的无参数的构造方法,如果父类没有这样的构造方法,代码将出现编译错误。
是的,如果在子类的构造方法中没有显式地调用父类的构造方法,编译器会默认在子类的构造方法的第一行插入一个隐式的super()语句,调用父类的无参构造方法。如果父类中没有无参构造方法,而子类中没有显式地调用父类的其他构造方法,则编译器会报错。因此,在子类中,如果需要调用父类的有参构造方法,就必须显式地使用super关键字来调用。
阅读全文