java注解简单入门

java中注解不会影响程序的运行,但是第三方程序或工具可以利用代码中的注解完成特殊的任务,间接控制程序的运行。

小例子:

定义一个简单的注解类:

@Retention(RetentionPolicy.RUNTIME)//声明注解的保留期限
@Target(ElementType.METHOD)//声明可以使用该注解的目标类型,method表示为方法上的注解
public @interface NeedTest {//定义注解
    boolean value() default true;//声明注解成员
}

使用注解:

public class ForumService {@NeedTest(value=true)public void deleteForum(int forumId){System.out.println("删除呢论坛模块:"+forumId);
    }@NeedTest(value=false)public void deleteTopic(int postId){System.out.println("删除论坛主题:"+postId);
    }
}

访问注解:

public class ToolTest {@Test
    public void tool(){Class clazz= ForumService.class;
        Method[] methods=clazz.getDeclaredMethods();
        System.out.println(methods.length);
        for(Method method:methods){NeedTest nt=method.getAnnotation(NeedTest.class);
            if(nt!=null){if(nt.value()){System.out.println(method.getName()+"()需要测试");
                }else {System.out.println(method.getName()+"()不需要测试");
                }}}}
}

2

deleteForum()需要测试

deleteTopic()不需要测试