Java通过反射访问注解信息的方法示例

网友投稿 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小时内删除侵权内容。

上一篇:接口能不能实现接口(什么是接口,怎样实现接口)
下一篇:接口测试工具有什么用(接口测试有哪些工具)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~