LoginSignup
15
14

More than 5 years have passed since last update.

Javaのアノテーションを学んでみたの巻

Last updated at Posted at 2014-09-24

アノテーション

アノテーションとは

Wikipedia抜粋

Javaのアノテーションは、クラスやメソッド、パッケージに対してメタデータとして注釈を記入する。

らしい。

アノテーションの種類

Javaのアノテーションは大きく分けると3つに分類される

  • マーカーアノテーション
    文字通り目印レベルの役割を果たすアノテーション、Javaでよく使われるアノテーションとして@Override@Deprecatedなどがある
  • 単一値アノテーション
    1つのデータを持つアノテーション
  • フルアノテーション
    少なくとも2以上のデータを持つアノテーション

メタアノテーション

アノテーションを作るに当たってのアノテーションがあって、以下の定義を付加することで独自のアノテーションを定義することができる

  • @Retention
    アノテーションの保持ルールを決める
  • @Target
    アノテーションが利用可能なプログラム要素を定義する
  • @Inherited
    アノテーションを付加した対象が継承後も付加された状態にしたい場合にこれを付加する

独自アノテーション定義

マーカーアノテーション

眠たいときに見てはいけないコードのアノテーション

定義

public @interface Sleepy { }

使用例

public class Work {
    @Sleepy
    public void meeting() {
        System.out.println("...zzz");
    }
}

単一値アノテーション

出身県を表すアノテーション

定義

public @interface NativePrefecture {
    String value();
}

使用例

@NativePrefecture("大阪府")
public String getMessage(){
    return "なんでやねん";
}

フルアノテーション

定義

public @interface NativePrefecture {
    String value();
    Int jisCode();
}
15
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
14