前@overrideアノテーションを正しく使っているにもかかわらずエラーになるということがありました。
原因は@overrideアノテーションがJDK1.6から拡張されたことです。
それまでは@overrideはextendsしたクラスのメソッドにしか使えなかったのですが、1.6からはインターフェイスにも使用できるようになりました。
つまり古いコンパイラのまま使用しているみたいです。
JDK1.6はインストールしてあるはずなのにおかしいな。
「ウィンドウ→設定→Java→コンパイラー→コンパイラー準拠レベル」でJDKを選択することができます。
比較的新しい版を使用していたつもりだったのですが、何故か1.5に設定されていました。
ここを1.6にすることで、@overrideの新しい使用法にも対応することができるようになりました。
インターフェイスはそもそもoverrideしていないとエラーになるので@overrideアノテーションの意味はあんまり無いような気もするのですがね。
他のアノテーションはコンパイラ向けなのに対してインターフェイス用@overrideは開発者向けっぽいですね。
Androidの記事
PR
トラックバック
トラックバックURL: