在Java中,@Override是一个标记注解,用于指示一个方法应该重写父类中的方法。当你在子类中定义一个与父类方法签名完全相同的方法时,可以使用@Override注解来明确表示你打算重写父类的方法。这有助于编译器检查你是否正确地重写了父类方法,以及在重写过程中是否有任何错误。
使用@Override注解的步骤如下:
@Override注解。下面是一个简单的示例:
class Animal {
void makeSound() {
System.out.println("The animal makes a sound");
}
}
class Dog extends Animal {
// 使用@Override注解重写父类的makeSound方法
@Override
void makeSound() {
System.out.println("The dog barks");
}
}
public class Main {
public static void main(String[] args) {
Dog myDog = new Dog();
myDog.makeSound(); // 输出:The dog barks
}
}
在这个例子中,Dog类继承了Animal类,并重写了makeSound方法。通过在Dog类的makeSound方法声明之前添加@Override注解,编译器可以检查Dog类是否正确地重写了Animal类的方法。如果Dog类没有正确地重写makeSound方法(例如,方法签名不匹配),编译器将报错。