如何在 Java 中,当父类有一个带有参数的方法时,正确的实现子类对该方法的调用?
时间: 2024-10-28 22:15:16 浏览: 8
在 Java 中,当你想让子类覆盖父类带有参数的方法时,你需要在子类中定义一个与父类方法完全相同的签名(包括方法名、返回类型和参数列表)。然后在子类的方法体中提供自己的实现。这里是一个简单的例子:
```java
// 父类
public class Animal {
public void makeSound(String type) {
System.out.println("The " + type + " makes a sound.");
}
}
// 子类,比如Dog 类
public class Dog extends Animal {
// 实现对父类方法的重写(override)
@Override
public void makeSound(String type) {
System.out.println("The dog says woof! (Type: " + type + ")");
}
}
// 使用时
Animal animal = new Animal(); // 创建父类对象
animal.makeSound("dog"); // 输出:The dog makes a sound.
Dog dog = new Dog(); // 创建子类对象
dog.makeSound("bark"); // 输出:The dog says woof! (Type: bark)
```
在这个例子中,`makeSound()` 方法在 `Animal` 类中声明,在 `Dog` 类中通过 `@Override` 注解表示它重写了父类的方法。
阅读全文