Java 子类的构造方法如何调用父类的构造方法?287


前言

在 Java 中,可以让一个类继承自另一个类,形成子类和父类的关系。子类可以继承父类的属性和方法,并可以根据需要扩展或修改父类的行为。当创建子类对象时,需要调用子类的构造方法。如果子类构造方法中不显式调用父类的构造方法,那么 Java 编译器会自动调用父类的无参构造方法。但是,在某些情况下,可能需要显式调用父类的构造方法,例如,当子类需要传递参数给父类的构造方法时。

通过 super() 关键字调用父类构造方法

Java 提供了 super() 关键字来调用父类的构造方法。super() 必须作为子类构造方法的第一行代码。它可以传递参数给父类的构造方法,其语法如下:```java
public class Subclass extends Superclass {
public Subclass(int param) {
super(param);
}
}
```

在上面的示例中,Subclass 继承自 Superclass。Subclass 的构造方法接收一个整型参数 param,并将其传递给 Superclass 的构造方法。如果没有显式调用 super(),Java 编译器会自动调用 Superclass 的无参构造方法。

必须首先调用父类构造方法

需要注意的是,子类构造方法中必须首先调用父类的构造方法。如果子类构造方法中没有包含 super() 调用,并且父类没有无参构造方法,那么编译器会报错。这是因为 Java 要求子类对象在初始化之前必须先初始化父类对象。

示例

下面是一个完整的示例,演示如何通过 super() 关键字调用父类的构造方法:```java
public class Person {
private String name;
public Person(String name) {
= name;
}
}
public class Employee extends Person {
private int salary;
public Employee(String name, int salary) {
super(name);
= salary;
}
public static void main(String[] args) {
Employee employee = new Employee("John Doe", 50000);
("Employee name: " + ());
("Employee salary: " + ());
}
}
```

在上面的示例中,Person 是父类,Employee 是子类。Employee 的构造方法接收两个参数:name 和 salary。它使用 super(name) 调用父类的构造方法,并传递 name 参数。最后,它将 salary 参数赋值给 salary 属性。

在 Java 中,通过 super() 关键字可以调用父类的构造方法。这通常用于传递参数给父类的构造方法。必须首先调用父类的构造方法,否则编译器会报错。通过理解和正确使用 super(),可以创建和使用继承的 Java 类,以扩展和修改父类的行为。

2024-11-17


上一篇:Java 中在字符串中查找子字符串

下一篇:子类在 Java 中调用父类构造方法