この記事では、主に Java アノテーションの実装と使用に関する関連情報を詳しく紹介します。この記事を通じて、Java アノテーションの知識を理解して習得できることを願っています。
実装と使用の詳細を参照してください。 Java アノテーションの説明
Java アノテーションは Java5 バージョンでリリースされ、その機能は設定ファイルを保存し、コードの可読性を向上させることです。現在のさまざまなフレームワークや開発において非常に一般的ですので、ここで説明したいと思います。
アノテーションの作成方法
各カスタム アノテーションは、Java 自体によって提供される 4 つのメタ アノテーションで構成されます:
@Target(ElementType.**)
これは列挙型であり、固定されています。クラス、変数、メソッドなど、カスタム アノテーションが使用される最上部。
@Retention(RetentionPolicy.**) は、コンパイル中やクラス ファイル中など、アノテーションがどのレベルで保存されるかを示すために使用されます。 VM は実行中です
@Documented この注釈は javadoc に含まれています。つまり、この注釈は javadoc ツールによってドキュメントに抽出されます。 doc ドキュメント内のコンテンツは、このアノテーションの情報コンテンツに応じて異なります
@Inherited: アノテーションを定義してプログラム コードで使用した後、デフォルトでは、親カテゴリのアノテーションは子に継承されません。このカテゴリでは、アノテーションを定義するときに java.lang.annotation.Inherited で修飾されたアノテーションを追加できます。これにより、定義したアノテーション タイプを継承できるようになります。
理論を紹介した後、コードを開始します(話は簡単です、コードを見せてください)
package com.yasin.JavaLearn; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * 这是一个类级别的注释,这个注释中有一个name字段,默认值是 yasin * @author yasin * */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Learn { String name() default "yasin"; }
package com.yasin.JavaLearn; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * 这是一个变量级别的注解,注解中有一个字段name,默认值是field * @author yasin * */ @Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface FiledLearn { String name() default "field"; }
package com.yasin.JavaLearn; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * 这是一个方法级别的注解 * @author yasin * */ @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface MethodLearn { String name() default "method"; }
上記でよく使用されるクラス、変数、メソッドである 3 つのアノテーションを定義しました. 注釈のレベル。
今、クラスを定義し、これらの 3 つのアノテーションを使用します
package com.yasin.JavaLearn; @Learn public class Yasin { @FiledLearn public int level; @FiledLearn(name="xq") public String xq; public String a; @MethodLearn(name="test") public void setMain(){ } public void setA(){ } }
このアノテーションの使用方法は、クラスのリフレクションを通じて、対応する変数とメソッドを取得することです。注釈を取得します。
以上がJava実装アノテーションの使用の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。