ホームページ  >  記事  >  Java  >  Java の基本に関するアノテーション

Java の基本に関するアノテーション

王林
王林転載
2019-11-27 16:51:112430ブラウズ

Java の基本に関するアノテーション

1. メタアノテーション

1.1 @ターゲット

[関数]

は、マークされたアノテーションを使用できる場所を指定するために使用されます。例: @Target(ElementType.METHOD): メソッドでは使用できるが、他の構造は使用できないことを示します。 @Target({ElementType .METHOD, ElementType.TYPE}): メソッド、インターフェイス、クラス、列挙型で使用できることを示します。

関連オンライン ビデオ チュートリアル: java コース

1.2 @Retention

[関数]

Use指定された注釈保持ステージでは、注釈には 3 つの値があります。

@Retention(RetentionPolicy.SOURCE): ソース コードの段階まで保持され、コンパイル後に消えることを示します

@Retention(RetentionPolicy.CLASS): コンパイルフェーズまで保持され、実行後に消える

@Retention(RetentionPolicy.RUNTIME): 実行フェーズまで保持フェーズ 、リフレクションを通じてアノテーション情報を読み取りたい場合は、アノテーション保持ステージを RUNTIME

1.3 @Inherited

[関数]

として指定する必要があります。

は、アノテーションがサブクラスに継承できるかどうかを示します。

1.4 @Documented

[関数]

このアノテーションが Javadoc によってドキュメントに読み込まれるかどうかを示します。

2. アノテーションステートメント

[形式]

[メタアノテーション]

【修饰符】 @interface 注解名 { 注解体 }

[例]

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
}

3. 設定パラメータ宣言

##[形式]

【数据类型】 参数名() default 默认值;

default デフォルト値: デフォルト値を設定する必要がある場合に追加できます。設定する必要がありますが、記述する必要はありません。

データ型は、基本データ型、String、Class、enum、Annotation、および上記すべての型の 1 次元配列のみです。

パラメータメンバーが1つしかない場合や頻繁に使用するパラメータの場合は、パラメータ名:valueを定義できます。アノテーションを使用する場合、パラメータ名がvalueの場合は省略して入力値を直接記述することができます。

[例]

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
String name() default "";
}

4. アノテーション情報の読み取り

アノテーション annotations のみ

@Retention(RetentionPolicy.RUNTIME) It反射を通じて読み取ることができます。

次のように、リフレクションを通じてアノテーション情報を読み取ります:

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

public class TestInterface {
    public static void main(String[] args) {
        MyAnnotation myAnnotation = MyClass.class.getAnnotation(MyAnnotation.class);
        String value = myAnnotation.value();
        System.out.println(value);
    }
}

@MyAnnotation
class MyClass {}

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation {
    String value() default "我是一个注解";
}

出力結果:


Java の基本に関するアノテーション

おすすめの関連記事チュートリアル :

Java 入門学習

以上がJava の基本に関するアノテーションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。