はじめに
今回はJavaのアノテーションについて。
知っているようで知らない(?)アノテーションの意味やメリットを簡単に整理するという、ただのメモ。
アノテーションってなに?
- Annotation = 注釈 の意。
- コード中に "@" を使って記述する。
- たとえば、以下のようなコードになる。
package hoge.nwobhm;
public class Metallica {
@Override
public String playMetal() {
return "riff";
}
public static void main(String[] args) {
Metallica metal= new Metallica ();
System.out.println(metal.playMetal());
}
}
例えばどんなものがあるの?
具体的には以下のようなものがある。
- Override : オーバーライドメソッドであることを宣言する。
- Deprecated : クラスやメソッドを非推奨にする。
- SuppressWarnings : コンパイル時の警告抑制。
また、アノテーションは3つの種類に分けられる。
1.マーカー : 名前だけでデータのないもの
2.単一アノテーション : データをひとつ持つもの
3.フルアノテーション : 複数のデータを持つもの
決められたものしか使えないの?
- アノテーションは独自実装することができる。
- "@interface"を指定して実装する。
- たとえばこんな感じ。
package hoge.nwobhm;
public @interface Megadeth {
String value();
}
使うメリットは?
- アノテーションはコンパイル対象のため、コードが統一できる。(コードが見やすくなる)
- アノテーションは独自実装できるため、活用の幅は広い。