eclipse中没有@override
时间: 2023-12-10 10:02:14 浏览: 57
在Eclipse中,如果您在实现一个方法时使用`@Override`注解,但您得到了以下错误消息:
```
The method XXX of type YYY must override a superclass method
```
这表示您正在尝试重写一个超类方法,但实际上您并没有覆盖任何超类方法。这可能是因为:
- 您的方法名称与超类中的方法名称不完全相同。
- 您的方法参数列表与超类中的方法参数列表不完全相同。
- 您的方法返回类型与超类中的方法返回类型不完全相同。
请确保您的方法名称、参数列表和返回类型与超类中的方法完全相同,以便使用`@Override`注解。
相关问题
@override 在那个包中以及在eclipse中该如何添加这个包
`@override`注解是Java语言自带的注解,位于`java.lang.Override`包中,因此不需要额外导入包就可以使用。在Eclipse中,当您尝试在子类中重写父类的方法时,如果方法签名不匹配或者方法不存在,Eclipse会自动提示您添加`@Override`注解。如果没有自动提示,您也可以手动添加注解,只需要在要重写的方法上方添加`@Override`即可。
java中@Override的作用
在Java中,`@Override`是一个注解,它的作用是在声明方法的时候明确表示该方法正在尝试覆盖父类或者接口中的某个已存在方法。当你在一个子类中声明一个方法,如果你希望它是父类或接口中某个已定义方法的直接替换(即方法名、返回类型、参数列表和访问级别完全匹配),则可以在方法声明前加上`@Override`注解。
这个注解的主要目的是提高代码的可读性和防止误操作。如果不使用`@Override`,IDE(如IntelliJ IDEA或Eclipse)通常不会自动检查方法是否真的实现了接口或者覆盖了父类方法,只有在运行时才会抛出`NoSuchMethodError`异常。而有了`@Override`,编译器会在编译阶段就进行检查,如果发现方法签名不符,会立即报错,避免潜在的问题。
例如:
```java
public class ParentClass {
public void someMethod() {
//...
}
}
public class ChildClass extends ParentClass {
@Override
public void someMethod() {
//...
}
}
```
这里,`ChildClass`中的`someMethod`方法前面加了`@Override`,表明开发者意图覆盖`ParentClass`中的同名方法。如果没有这个注解,尽管方法签名匹配,编译器也无法确定这是重写,可能会误认为这是一个新的独立方法。
阅读全文