Flask接口签名sign原理与实例代码浅析
244
2022-12-31
Java通过反射访问注解信息的方法示例
本文实例讲述了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 name() default "methodname";
public String unit() default "unit";
}
public class ch11_8 {
public String aString;
public static void main( String[] args ) {
try {
ch11_8 ch8 = new ch11_8();
Method method = ch8.getClass().getMethod("getData1");
Annotation ans[] = method.getAnnotations();
fToGZenuor (Annotation annotation : ans) {
System.out.println(annotation);
}
Annotation annotation = method.getAnnotation(testAnnoation8.class);
System.out.println(annotation);
} catch (Exception e) {
e.printStackTrace();
}
}
@Deprecated
@testAnnoation8(name = "SOC", unit = "%")
public void getData1() {
}
}
2 运行
@java.lang.Deprecated()
@testAnnoation8(name=SOC, unit=%)
@testAnnoation8(name=SOC, unit=%)
三 实战——访问类的某个成员方法的注解信息
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 name() default "methodname";
public String unit() default "unit";
}
public class ch11_9 {
public String aString;
public static void main(String[] args) {
try {
ch11_9 ch9=new ch11_9();
Method method=ch9.getClass().getMethod("ghttp://etData1");
Annotation annotation=method.getAnnotation(testAnnoation9.class);
testAnnoation9 t9=(testAnnoation9)annotation;
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 运行
name value is SOC; unit is %
更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~