java カスタムコメントの例の詳細
java カスタムコメントの例の詳細
JavaのAnnotationは5.0バージョンの後に導入されたもので、ドキュメントを作成し、コードに依存性を追跡するために使用でき、コンパイル時期のチェックを実行することができます。注释は仮想マシンに見せるもので、プログラムのいくつかの特殊な機能を表しています。JDKは@Override、@Suppress Warning、@Deprecatedの3つの注釈を提供しています。元の注釈がある場合、@Target、@Retention、@Dcumented、@Inherited、元の注釈の役割は他の注釈を注釈しています。
注釈を知るには、カスタム注釈を理解し、反射によって実現されることを理解する必要があります。
まず、注釈をカスタマイズします。
疑問があれば、メッセージをお願いします。あるいは、当駅のコミュニティで交流して討論してください。ありがとうございます。
JavaのAnnotationは5.0バージョンの後に導入されたもので、ドキュメントを作成し、コードに依存性を追跡するために使用でき、コンパイル時期のチェックを実行することができます。注释は仮想マシンに見せるもので、プログラムのいくつかの特殊な機能を表しています。JDKは@Override、@Suppress Warning、@Deprecatedの3つの注釈を提供しています。元の注釈がある場合、@Target、@Retention、@Dcumented、@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...");
}
最後にAnnotationDemo 1のすべての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を出力します。これで簡単にユーザー定義の注釈ができます。疑問があれば、メッセージをお願いします。あるいは、当駅のコミュニティで交流して討論してください。ありがとうございます。