首页 > 学院 > 开发设计 > 正文

类和方法注解的解析

2019-11-11 04:40:10
字体:
来源:转载
供稿:网友
package annotation;import java.lang.annotation.Annotation;import java.lang.reflect.Method;@MyAnnou(num = 22)public class A { @MyAnnou(num = 21) public void aa() { } @MyAnnou(num = 23) public void bb() { } @SupPRessWarnings({ "unchecked", "rawtypes" }) @MyAnnou(num = 24) public static void main(String[] args) { try { Class c=Class.forName("annotation.A");//动态加载类 /** * 获取类上面的注解信息-方法1 * 判断加载的类上面是否有指定的注释信息 */ boolean b=c.isAnnotationPresent(MyAnnou.class); if(b){//如果有注释信息,获取 MyAnnou ma=(MyAnnou) c.getAnnotation(MyAnnou.class); System.out.println("**************类的注解信息*************"); System.out.println(ma.name()); System.out.println(ma.num()); System.out.println("*******************************"); } /** * 获取方法上边的注释信息 */ //获取该类下所有的方法并遍历出来 Method[] m=c.getMethods(); for (Method method : m) { //判断该方法上面是否存在指定注解 boolean is=method.isAnnotationPresent(MyAnnou.class); if(!is){//不存在就跳过此方法 continue; } //获取该方法上的注解信息 MyAnnou mo=method.getAnnotation(MyAnnou.class); System.out.println(method.getName()+"注解信息:"); System.out.println(mo.name()); System.out.println(mo.num()); System.out.println("*******************************"); } /** * 获取方法上的注解信息-方法2 */ Method[] mh=c.getMethods(); for (Method method : mh) { Annotation[] anno=method.getAnnotations();//获取该方法下的所有注解的集合 for (Annotation ann : anno) { if(ann instanceof MyAnnou){ MyAnnou mu=(MyAnnou) ann; System.out.println(method.getName()+"方法注解的解析2:"); System.out.println(mu.name()); System.out.println(mu.num()); System.out.println("================================"); } } } } catch (Exception e) { } }}
上一篇:编程练习三

下一篇:Lua 入门

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表