java基础:注解的定义与使用

2020-08-22 17:52:25 浏览数 (1)

java中的注解

1。该如何来理解注解?

乔布斯重新定义了手机,罗太君重新定义了傻逼。自然而然的就给罗太君贴上了傻逼的标签,不熟悉老罗的人,不知道他当教师,办博客,做手机,殊不知老罗还有“理想主义者”,“单口相声演员”,“段子手”等等标签

老罗还是那个老罗,只是人们对于他的不同认识给他贴上了不同的标签

我们可以简单概况一下,标签是对事物行为某些角度的评价与解释

想像代码具有生命,注解就是对于代码中某些鲜活个体的贴上去的一张标签。简化来讲,注解如同一张标签。

注解使用@interface进行修饰

定义一个注解

代码语言:javascript复制
/**
 * 定义了一个注解
 */
@Target(ElementType.METHOD)  /*元注解,METHOD表明在方法上有效*/
@Retention(RetentionPolicy.RUNTIME) /*元注解,RUNTIME表明运行时有效*/
public @interface testAnnotation {

}

定义一个类 里面有两个方法,一个打上注解一个不打

代码语言:javascript复制
/**
 * 测试类2定义两个方法打上自定义的注解看看各自的执行情况
 */
public class Test2 {
    @testAnnotation
    public void fun(){
        System.out.println("层楼终究误少年");
    }
    public void fun2(){
        System.out.println("自由早晚乱余生");
    }
}

编写测试类,看刚刚两个方法的执行情况

代码语言:javascript复制
public class Test {
    public static void main(String[] args) throws InvocationTargetException, IllegalAccessException {
        Test2 test = new Test2();
        //通过反射获取到test上的所有方法存入数组
        Method[] methods = test.getClass().getDeclaredMethods();
        for (Method method : methods) {
            //如果指定类型的注解存在返回true否则返回false
            if(method.isAnnotationPresent(testAnnotation.class)){
                method.invoke(test,null);
            }
        }
    }
}

控制台打印了打上注解的那个方法

0 人点赞