Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Java

Javaのアノテーションとは?種類や使い方についてご紹介

投稿日:2020年12月5日 更新日:

<目次>

(1) Javaのアノテーションとは?自作の手順やフィールド値の取得方法もご紹介
 (1-1) アノテーションとは?
 (1-2) アノテーションの種類
 (1-3) 自作アノテーションの作り方や使い方

(1) Javaのアノテーションとは?自作の手順やフィールド値の取得方法もご紹介

(1-1) アノテーションとは?

(1-1-1) 一言でいうと

Javaのコードに対してメタデータを付与するための機能です。Javaに標準で備わっている有名な例では、メソッドのオーバーライド時に付与する「@Override」アノテーションなど見たことがある人が多いのでは?(@Overrideの場合はJavaにビルドインされたアノテーションのため、即座に使える)。

(1-1-2) 特徴

このアノテーションの特徴として基本的に「コンパイル後のプログラムの動作には影響しない」事が挙げられます(RUNTIME時も有効にすれば別)。とはいえ、コンパイラからの扱いには影響するため、完全なコメントではない点も注意が必要です。例えば「@Override」アノテーションを付けたメソッドが正しくオーバーライド出来ていない場合はコンパイル時に警告メッセージが出るので、コメントとは明確に異なります。

そしてアノテーションは自作で定義&使用する事もでき、クラス、メソッド、インスタンス変数、コンストラクタ、Javaパッケージ、パラメータ)など様々な要素に対して付与する事ができ、全てのアノテーションは「java.lang.annotation.Annotation」インターフェイスを継承します。

目次にもどる

(1-2) アノテーションの種類

ここからは自作のアノテーションの大まかな種類についてご紹介します。

(1-2-1) マーカーアノテーション

メンバを持たず、データ等は構成しない種類のアノテーションです。マーカーとして印を付けるのみのアノテーションです。

//(構文)
@interface [カスタムアノテーション名]{}
//(定義例)
@interface MyAnnotation{}
//(使用例)
@MyAnnotation

目次にもどる

(1-2-2) 単一値アノテーション

1つのメソッド(のシグニチャ)のみを含むアノテーションで、メンバの宣言をする際に簡易的な記述を使用できます。具体的にはメンバの名前を記述する必要がなく、値のみを記述すればOKです(性格には名前は「value」で決め打ち)。

//(定義例)
@interface MyAnnotation{  
int value() default 0;
}
//(使用例)
@MyAnnotation(value=999)

目次にもどる

(1-2-3) 複数値アノテーション

複数のメソッド(のシグニチャ)を持つアノテーションです。

//(定義例)
@interface MyAnnotation{
 int value1() default 1;
 String value2() default "";
 String value3() default "abcde";
} //
(使用例)
@MyAnnotation(value1=99,value2="Rainbow Planet",value3="Michael") 

目次にもどる

(1-3) 自作アノテーションの作り方や使い方

自作のアノテーションの作り方については、少し長くなるので別記事(↓)にてご紹介しています。

Javaのアノテーションを自作する方法をご紹介(サンプルプログラム付き)
https://rainbow-engine.com/java-custom-annotation-howto/

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-Java

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

TomcatでEclipseを使う際にserver.xmlを編集しても上書きされる事象の対処方法

<目次> (1) TomcatでEclipseを使う際にserver.xmlを編集しても上書きされる事象の対処方法  (1-1) 発生状況・エラーメッセージ  (1-2) 原因  (1-3) 対処法 …

Javaのメソッドで複数の戻り値を返却する方法

<目次> (1) Javaのメソッドで複数の戻り値を返却する方法  (1-1) 同じ型の値を複数返却したい場合 ⇒ 配列やList   ◎ポイント   ◎サンプル  (1-2) 異なる型の関連する値を …

オープンアドレス法をJavaで実装したプログラムのサンプルをご紹介

<目次> (1) オープンアドレス法をJavaで実装したプログラムのサンプルをご紹介  (1-1) オープンアドレス法とは  (1-2) Javaのサンプルプログラムの全体像  (1-3) Javaの …

JDKのインストール手順+どれを選択すれば良いか?&確認の方法は?をご紹介

  <目次> (1) JDKのインストール手順+どれを選択すれば良いか?&確認の方法は?をご紹介  (1-0) STEP0:JDKのインストールでどれを選択すれば良いか?  (1-1) ST …

EclipseでJavaプロジェクトを別サーバにエクスポートする方法

(0)目次&概説 (1) プロジェクトのエクスポートの手順  (1-1) プロジェクトのエクスポート@転送元サーバ  (1-2) インポート先サーバへ転送  (1-3) プロジェクトのインポート@転送 …

  • English (United States)
  • 日本語
Top