Override

提供: Java入門
2015年3月21日 (土) 15:01時点におけるDaemon (トーク | 投稿記録)による版 (ページの作成:「Javaのアノーテーション Overrideとは、オーバライドすることをコンパイラに教えるための注釈です。タイポ(スペルミス)で...」)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
スポンサーリンク

Javaのアノーテーション Overrideとは、オーバライドすることをコンパイラに教えるための注釈です。タイポ(スペルミス)でスーパークラスのメソッドの上書きができてないときに、コンパイラがオーバーライド(上書き)できないことを教えてくれます。

読み方

Override

概要

アノテーションをすることで、コンパイラや統合開発環境によって、エラーを検出し、早期に誤りに気付くことができます。

ソースコード

クラスXを継承し、Xのfooメソッドをオーバーライドしようとしているときに、タイポでメソッド名をfoooにしてしまったときに、アノテーションがなければ、そのままコンパイルされ、オーバーライドできなくなります。 アノテーションで注釈することにより、コンパイラがコードの間違いに気付くことができます。したがって、下記の例では、javacでコンパイルするときにエラーになります。

/*
 * override1.java
 * Copyright (C) 2015 kaoru <kaoru@bsd>
 */
class X {
        public void foo () {
                System.out.println("'A'");
        }
}
 
class Y extends X {
        @Override public void fooo () {
                System.out.println("'-'");
        }
}
public class override1
{
        public static void main(String[] args) {
 
        }
}

コンパイル

$ javac override1.java
override1.java:12: エラー: メソッドはスーパータイプのメソッドをオーバーライドまたは実装しません
        @Override public void fooo () {
        ^
エラー1

関連項目




スポンサーリンク