java里的override是什么
时间: 2023-09-23 10:04:02 浏览: 44
在Java中,`@Override`是一个注解,用于标识一个方法是重写了父类或接口的方法。如果在子类中声明了一个与父类或接口中方法签名完全相同的方法,并且使用了`@Override`注解,那么编译器就能够检查到这个方法是否真的重写了父类或接口中的方法。
当子类继承或实现了父类或接口中的一个方法时,我们可以重写这个方法来实现子类自己的行为。重写的方法必须与父类或接口的方法具有相同的名称、参数列表和返回类型。如果不具有相同的方法签名,那么这个方法就不是重写,而是一个新的方法。
举个例子:
```java
public class Animal {
public void eat() {
System.out.println("Animal is eating.");
}
}
public class Cat extends Animal {
@Override
public void eat() {
System.out.println("Cat is eating.");
}
}
public class Main {
public static void main(String[] args) {
Animal animal = new Animal();
animal.eat(); // 输出:Animal is eating.
Cat cat = new Cat();
cat.eat(); // 输出:Cat is eating.
}
}
```
在这个例子中,`Cat`类继承了`Animal`类,重写了`eat()`方法。当我们调用`cat.eat()`时,输出的是`Cat is eating.`,而不是父类`Animal`中的`Animal is eating.`。这就是通过重写实现子类自己的行为的例子。