Chinaunix首页 | 论坛 | 博客
  • 博客访问: 752725
  • 博文数量: 130
  • 博客积分: 2951
  • 博客等级: 少校
  • 技术积分: 1875
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-04 18:32
文章分类

全部博文(130)

文章存档

2013年(1)

2012年(129)

分类: Java

2012-04-20 15:09:18


  1. @Target({ElementType.METHOD})
  2.  @Retention(RetentionPolicy.RUNTIME)
  3.  public @interface TODO {
  4.      int priority() default 0;
  5.  }

  1. @Target({ElementType.FIELD})
  2.  @Retention(RetentionPolicy.RUNTIME)
  3.  public @interface TOFORMATE {
  4.  }

  1. public class MyCalculator {
  2.      boolean isReady;
  3.          @TOFORMATE double concurrency;
  4.      @TOFORMATE Date debitDate;
  5.      public MyCalculator() {
  6.      super();
  7.      }
  8.     
  9.      @TODO
  10.      public void calculateRate(){
  11.          System.out.println("Calculating...");
  12.      }
  13.  }

  1. public class TestCalculator {
  2.      public static void main(String[] args) {
  3.          MyCalculator cal = new MyCalculator();
  4.          cal.calculateRate();
  5.      try {
  6.          Class c = cal.getClass();
  7.          Method[] methods = c.getDeclaredMethods();
  8.              
  9.              for (Method m: methods) {
  10.          // 判断这个方法有没有使用 TODO
  11.          if (m.isAnnotationPresent(TODO.class))
  12.          System.out.println("Method "+m.getName()+": the TODO is present");
  13.          }
  14.             
  15.          Field[] fields = c.getDeclaredFields();
  16.          for (Field f : fields) {
  17.          // 判断这个域有没有使用 TOFORMATE
  18.              if (f.isAnnotationPresent(TOFORMATE.class))
  19.              System.out.println("Field "+f.getName()+": the TOFORMATE is present");
  20.              }
  21.          } catch (Exception exc) {
  22.              exc.printStackTrace();
  23.          }
  24.      }
  25. }

阅读(1804) | 评论(0) | 转发(1) |
0

上一篇:JAVA 增强for循环

下一篇:JAVA - NIO 实例

给主人留下些什么吧!~~