ホームページ  >  記事  >  Java  >  Java カスタム アノテーションの詳細な紹介

Java カスタム アノテーションの詳細な紹介

黄舟
黄舟オリジナル
2017-09-25 10:37:231108ブラウズ

この記事では主に Java カスタム アノテーションの詳細な説明に関する関連情報を紹介します。必要な方は参考にしてください

java カスタム アノテーションの詳細な説明

Java のアノテーションはバージョン 5.0 以降に導入され、使用できます。ドキュメントの作成、コード内の依存関係の追跡に役立ち、コンパイル時のチェックを実行できます。注釈は、仮想マシンがプログラムのいくつかの特別な機能を確認および表現するためのものです。 JDK は、@Override、@SuppressWarning、@Deprecated の 3 つのアノテーションを提供します。メタ アノテーション、@Target、@Retention、@Documented、および @Inherited もあります。メタ アノテーションの役割は、他のアノテーションに注釈を付けることです。

アノテーションを理解したい場合は、カスタム アノテーションを理解する必要があります。

まず、アノテーションをカスタマイズしましょう


@Retention(value=RetentionPolicy.RUNTIME) 
public @interface MyTest { 
 
}

次に、テストデモを作成します


public class AnnotationDemo1 { 
  @MyTest 
  public void demo1(){ 
    System.out.println("方法1..."); 
  } 
   
  @MyTest 
  public void demo2(){ 
    System.out.println("方法2..."); 
  } 
  @Test 
  public void demo3(){ 
    System.out.println("方法3..."); 
  }

最後に、AnnotationDemo1 内のすべての Mytest アノテーション付きメソッドを実行してから、実行クラス


public class DemoRunner { 
public static void main(String[] args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, InstantiationException {  
    //获得测试类的class 
    Class clazz=AnnotationDemo1.class; 
    //获得class中的所有的方法 
    Method[] mothods=clazz.getMethods(); 
    //遍历每个方法, 
    for(Method method:mothods){ 
      boolean flag = method.isAnnotationPresent(MyTest.class); 
       System.out.println(flag); 
      if(flag){ 
        // 说明方法上有MyTest注解: 
        method.invoke(clazz.newInstance(), null); 
      } 
    } 
  } 
}

最終テストでは、メソッド 1... とメソッド 2... が出力できるため、カスタム アノテーションの実装が容易になります。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。