美文网首页
annotation

annotation

作者: 晚安多巴胺 | 来源:发表于2017-10-10 15:03 被阅读0次

注解相当于一种标记,在程序中加了注解就等于为程序打上了某种标记。程序可以利用java的反射机制来了解你的类及各种元素上有无何种标记,针对不同的标记,就去做相应的事件。

基本注解

  • @Override 重写
  • @Deprecated过时
  • @SuppressWarnings压缩警告(可以无视一些警告)

元注解

元注解:用来描述注解的注解

  • @Retention--该注解什么时候生效
  • @Target--该注解用在哪里
  • @Documented
  • @Inherited
  • @Repeatable (java 8新增)

具体使用

//注解的定义
package com.annotation;

@Retention(RUNTIME)//runtime指的是运行时生效,还有class,document
@Target({FIELD,METHOD})//用在变量和方法上,当有多个的时候用{数组}
public @interface wuli {
    String value();
}

//用注解
package com.annotation;

public class User {
    @wuli("JAX")//当注解里面的只有一个value的时候可以不写value="JAX"
    private String username;
}

//用反射的方法读取注解里的信息
package com.annotation;

import java.lang.reflect.Field;

public class TestAnnotation {
    public static void main(String[] args) throws NoSuchFieldException, SecurityException {
        User user=new User();
        Field field=user.getClass().getDeclaredField("username");
        wuli annotation=field.getAnnotation(wuli.class);
        System.err.println(annotation.value());
        
    }
}

相关文章

网友评论

      本文标题:annotation

      本文链接:https://www.haomeiwen.com/subject/xiivyxtx.html