介绍
本篇文章为大家展示了怎么在Java中利用反射访问注解信息例,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
利用Java的反射机制,可以访问注解信息。比如在调用某个方法时,需要知道该方法的一些基本信息,而这些信息又需要动态获取时,利用发射获取注解信息是一个比较理想的处理方式。
<强>二实战——访问类的某个成员方法的注解信息强>
1代码
import java.lang.annotation.Annotation; 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; import java.lang.reflect.Method; @Documented @Retention (RetentionPolicy.RUNTIME) @Target (ElementType.METHOD) @interface testAnnoation8  { public 才能;String 名称(),default “methodname"; public 才能;String 单位(),default “unit"; } public class  ch21_8 { public 才能;String  aString; public 才能;static  void 主要(String[]大敌;args ), { ,,,try { ,,,,,ch21_8 ch8 =, new ch21_8 (); ,,,,,Method Method =, ch8.getClass () .getMethod (“getData1"); ,,,,,Annotation ans [],=, method.getAnnotations (); ,,,,,for (Annotation Annotation : ans), { ,,,,,,,System.out.println(注释); ,,,,,} ,,,,,Annotation Annotation =, method.getAnnotation (testAnnoation8.class); ,,,,,System.out.println(注释); ,,,},catch (Exception e), { ,,,,,e.printStackTrace (); ,,,} ,,} @Deprecated才能 @testAnnoation8才能(=name “SOC",, unit =,“%”) public 才能;void  getData1 (), { ,,} }
2运行
@java.lang.Deprecated ()
引用>
@testAnnoation8 (name=SOC、单位=%)
@testAnnoation8 (name=SOC、单位=%)<强>三实战——访问类的某个成员方法的注解信息强>
1代码
import java.lang.annotation.Annotation; 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; import java.lang.reflect.Method; @Documented @Retention (RetentionPolicy.RUNTIME) @Target (ElementType.METHOD) @interface testAnnoation9 { ,,public String 名称(),default “methodname"; ,,public String 单位(),default “unit"; } public class  ch21_9 { public 才能;String  aString; public 才能;static  void main (String [], args), { ,,try { ,,,,ch21_9 ch9=new ch21_9 (); ,,,,Method 方法=ch9.getClass () .getMethod (“getData1"); ,,,,Annotation 注释=method.getAnnotation (testAnnoation9.class); ,,,,testAnnoation9 t9=(testAnnoation9)注释; ,,,,System.out.println (“name  value is “+ t9.name () +“;, unit is “+ t9.unit ()); ,,},catch (Exception e), { ,,,,e.printStackTrace (); ,,} ,,} @Deprecated才能 @testAnnoation9才能(=name “SOC",, unit =,“%”) public 才能;void  getData1 () { ,,} }2运行
值是SOC名称;单位%
引用>怎么在Java中利用反射访问注解信息例