java的注解

注解其实是一个发展方向,他虽然不能取代xml的地位,但是却能够融合xml的用法,使得代码更加简化,更加的松耦合,使得性能得到最大的提升,故此注解便是一个发展的趋势;

JDK的内置标签:
    @Override 用于检查方法名是否正确;
    @Deprecated 不赞成使用方法,比如说JDK某个方法过时,便是是用这个标注修饰;

简单写一个例子便于大家理解:
首先是java注解;
他需要先创建一个对应的@interface才能应用;
  1.     @Retention(RetentionPolicy.RUNTIME) //必须要写的,保留时间
  2.     @Target(ElementType.METHOD)         //声明类型
  3.     public @interface Nade {
  4.         String value() default "秦始皇"//这个是格式,default后面跟声明类型的值
  5.     }

然后再每个方法上都要写上注释,然后可以对他进行判断,他可以通过反射进行方法执行;
  1.        @Nade(value="王者韩")
  2.         public void setId(int id) {
  3.             this.id = id;
  4.         }
最后是用反射调用他;

  1.     public void testoop() {
  2.         Method[] m= User.class.getDeclaredMethods(); //返回方法数组
  3.         /*
  4.          *刚刚查了下API,getDeclaredMethods()与getMethods()效果一样,不过getDeclaredMethods()
  5.          *不包括父类的方法,getMethods()包括父类的方法;
  6.          */
  7.         for(int i=0;i<m.length;i++) {
  8.             Nade n = m[i].getAnnotation(Nade.class);
  9.             System.out.println(n.value());
  10.         }
  11.     }
写了一个执行拥有注解方法赋值的例子,还算可以吧,凑合着看,重点是理解;

  1. public void testoop() throws Exception {
  2.         Method[] m= User.class.getDeclaredMethods();
  3.         User u= User.class.newInstance();
  4.         for(int i=0;i<m.length;i++) {
  5.             Nade n = m[i].getAnnotation(Nade.class);
  6.             String str= n.value();
  7.             if(str.equals("王者韩")) {
  8.                 m[i].invoke(u, 2);
  9.             }
  10.         }
  11.         System.out.print(u.getId());
  12. }

   
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值