写一个关于继承方法重写的java语言
时间: 2024-09-18 14:17:53 浏览: 38
在Java中,继承和方法重写是实现多态的关键特性。首先,我们来看一下如何通过继承创建一个基础类,并在其子类中重写方法。
```java
// 定义一个基类 Animal
class Animal {
// 普通方法,可以被所有动物实例共享的行为
void eat() {
System.out.println("Animal is eating");
}
}
// 子类 Dog,从 Animal 类继承并重写 eat 方法
class Dog extends Animal {
// 方法重写,Dog 版本的 eat 方法
@Override
void eat() {
System.out.println("Dog is eating with a bone");
}
}
public class Main {
public static void main(String[] args) {
// 创建 Animal 类型的对象,实际上是 Dog 的实例
Animal animal = new Dog();
// 调用 eat 方法,因为多态,会执行 Dog 类的 eat 实现
animal.eat(); // 输出 "Dog is eating with a bone"
// 显示继承和多态的好处,比如统一处理动物吃的行为,而不需要关心具体的种类
animal = new Cat(); // 假设有一个同样继承自 Animal 的 Cat 类
animal.eat(); // 这里也会调用 Dog 或 Cat 中的具体实现,但代码只需处理 Animal 对象即可
}
}
```
在这个例子中:
1. `eat` 方法在基类 `Animal` 中声明,表示所有动物都有吃的能力。
2. 子类 `Dog` 继承了 `Animal` 并重写了 `eat` 方法,提供了特定于狗的吃的方式。
3. 在 `main` 函数中,虽然我们创建的是 `Dog` 对象,但由于多态,当我们使用 `animal` 引用调用 `eat` 时,实际执行的是 `Dog` 类的方法。
阅读全文