// 定义一个父类 Animal
class Animal {
// 父类中的方法 speak
public void speak() {
System.out.println("动物发出声音");
}
}
// 定义一个子类 Dog,继承自 Animal
class Dog extends Animal {
// 重写(override)父类的 speak 方法
@Override
public void speak() {
System.out.println("狗汪汪叫");
}
}
public class OverrideExample {
public static void main(String[] args) {
// 创建 Animal 类的实例
Animal animal = new Animal();
animal.speak(); // 输出: 动物发出声音
// 创建 Dog 类的实例
Dog dog = new Dog();
dog.speak(); // 输出: 狗汪汪叫
// 多态性:Animal 类型的引用指向 Dog 对象
Animal myDog = new Dog();
myDog.speak(); // 输出: 狗汪汪叫
}
}
@Override 注解用于表明该方法是重写(override)父类的方法。它不仅提高了代码的可读性,还可以帮助编译器检查是否确实存在对应的方法可以被重写。Dog 类重写了 Animal 类中的 speak 方法。当通过 Dog 类的对象调用 speak 方法时,会执行 Dog 类中定义的版本,而不是 Animal 类中的版本。Animal 类型的引用指向 Dog 对象,调用 speak 方法时仍然会执行 Dog 类中重写的方法。上一篇:java单元测试工具
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站