gpt4 book ai didi

java - 某些 @Override 在 Oracle Java 中显示错误,但在 OpenJDK 中不显示

转载 作者:行者123 更新时间:2023-11-29 05:54:19 25 4
gpt4 key购买 nike

在 Ubuntu Linux 中创建并在 OpenJDK 6 下编译的存储库中,在实现 LocationListener 和 SensorListener 时,在继承方法上方添加 @Override 标记可以正常编译。

但是当使用 Oracle Java 将 repo 克隆到 Windows 系统时,一些 @Override 会产生错误。示例如下:ExpeditionActivity 类型的 onAccuracyChanged(Sensor, int) 方法必须覆盖父类(super class)方法

似乎只有在继承自实现接口(interface)的方法之上添加@Override 时才会出现此错误。在从基类继承的方法上方添加 @Override 不会产生错误。这实际上是有道理的,因为您实际上是在覆盖原始方法的逻辑。

那么,在继承的接口(interface)方法之上编写 @Override 在语法上是否正确?

最佳答案

@Override 仅限于 JDK 5 中的基类方法。

JDK 6 引入了将 @Override 应用于接口(interface)方法的能力。

Eclipse 必须设置为使用 JDK6/JDK6 语言级别才能在接口(interface)方法上使用@Override

回答您的问题,“是的,如果您在 JDK 6+ 下编译”。

关于java - 某些 @Override 在 Oracle Java 中显示错误,但在 OpenJDK 中不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12764473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com