super关键字调用父类的构造方法
时间: 2023-12-28 11:24:01 浏览: 102
在Java中,使用super关键字可以调用父类的构造方法。具体方法如下:
```java
public class ChildClass extends ParentClass {
public ChildClass() {
super(); // 调用父类的无参构造方法
}
}
```
在子类的构造方法中,使用super()调用父类的构造方法。如果父类没有无参构造方法,则需要在super()中传入相应的参数来调用父类的有参构造方法。
```java
public class ChildClass extends ParentClass {
public ChildClass(int num) {
super(num); // 调用父类的有参构造方法
}
}
```
需要注意的是,如果子类的构造方法没有显式地调用super(),则Java会默认调用父类的无参构造方法。如果父类没有无参构造方法,则编译会报错。
相关问题
能否在子类的构造方法中用super关键字调用父类的构造方法?
可以在子类的构造方法中使用super关键字调用父类的构造方法。在子类的构造方法中,使用super()调用父类的无参构造方法;如果父类没有无参构造方法,可以使用super关键字调用父类的其他构造方法,并传递相应的参数。例如:
```java
// 父类
public class Person {
private String name;
public Person(String name) {
this.name = name;
}
}
// 子类
public class Student extends Person {
private int age;
public Student(String name, int age) {
super(name); // 调用父类的有参构造方法
this.age = age;
}
}
```
下列关于继承与构造方法的描述,正确的是( )。A、子类对象创建时先调用自身构造方法,再调用父类构造方法B、子类可通过super关键字调用父类的构造方法C、子类无条件继承父类无参构造方法D、父类对象创建时先调用自身构造方法,然后调用子类构造方法
B、子类可通过super关键字调用父类的构造方法是正确的描述。其他选项描述均不正确:
A、子类对象创建时会先调用父类的构造方法,然后再调用自身的构造方法。
C、子类只有在没有定义构造方法时才会继承父类的无参构造方法,如果子类已经定义了构造方法,则不会自动继承父类的构造方法。
D、父类的构造方法不会调用子类的构造方法。
阅读全文