Ubuntu Linux で作成され、OpenJDK 6 でコンパイルされたリポジトリでは、LocationListener と SensorListener を実装するときに@Override
、継承されたメソッドの上にタグを追加すると正常にコンパイルされます。
しかし、リポジトリが Oracle Java を使用して Windows システムに複製されると、@Override
エラーが発生する場合があります。以下の例:
The method onAccuracyChanged(Sensor, int) of type ExpeditionActivity must override a superclass method
このエラーは@Override
、インターフェイスの実装から継承されたメソッドの上に追加した場合にのみ発生するようです。基本クラスから継承されたメソッドの上に追加@Override
しても、エラーは生成されません。元のメソッドのロジックを実際にオーバーライドしているため、これは実際には理にかなっています。
@Override
SO、継承されたインターフェースメソッドの上に書くのは文法的に正しいですか?