[英]Some @Override shows errors in Oracle Java but not in OpenJDK
在于在Ubuntu Linux操作系统执行LocationListener的和SensorListener时,加入创建并编译的OpenJDK 6下,存储库@Override
的继承方法上述标签编译罚款。
但是当使用Oracle Java将repo克隆到Windows系统上时,一些@Override
产生错误。 示例如下: The method onAccuracyChanged(Sensor, int) of type ExpeditionActivity must override a superclass method
似乎只有在从实现接口继承的方法上面添加@Override
时才会出现此错误。 在从基类继承的方法上面添加@Override
不会生成错误。 这实际上是有道理的,因为你实际上覆盖了原始方法的逻辑。
那么,是不是syactically正确写@Override
上面继承的接口中的方法?
@Override
仅限于JDK 5中的基类方法。
JDK 6引入了将@Override
应用于接口方法的功能。
Eclipse必须设置为使用JDK6 / JDK6语言级别在接口方法上使用@Override
。
要回答你的问题,“是的,如果你在JDK 6+下进行编译”。
我有时会得到它。 不太清楚它的原因是什么。
我发现修复它的几种方法。 也许其中一些会对你有用
AsyncTask
时,您将提供扩展的第3类参数,根据这些参数,您需要使用正确的参数和返回值覆盖方法。 Add Unimplemented methods
这将使eclipse添加这些方法,你将不得不重新填充正文,但错误将消失。 我确实认为这是一个Eclipse错误,因为删除@Override
注释不会影响代码,代码会编译并正确运行。
祝好运
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.