注解Annotation

2019-07-29  本文已影响0人  ElevenKing

目前注解驱动开发已经成为主流。框架大部分都使用了注解简化代码,提高开发效率。因此掌握并深入理解注解是一个开发工程师最基本的要求。

注解通过 @interface 关键字进行定义。

元注解 含义
@Retention 字面意思为保留,说明这个注解的存活时间
@Documented 将注解中的元素包含到JavaDoc中
@Target 字面意思是目标,指定注解加在什么地方,枚举ElementType
@Inherited 字面意思遗传,并不是说注解本身可以继承,而是说一个超类被 @Inherited 注解过的注解进行注解的话,那么如果它的子类没有被任何注解应用的话,那么这个子类就继承了超类的注解。
@Repeatable 来自1.8,字面意思是可重复的
jdk内置注解 含义
@Deprecated 方法过时,不建议使用
@Override 重写父类方法校验
@SuppressWarnings 忽略警告
@SafeVarargs 参数安全类型注解。它的目的是提醒开发者不要用参数做一些不安全的操作,它的存在会阻止编译器产生 unchecked 这样的警告。
@FunctionalInterface 说明此接口为函数式接口

注解获取

想要获取注解的内容,首先@Retention(RetentionPolicy.RUNTIME) 是必要条件,其次离不开反射

//是否应用了某个注解
public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass) {}
//通过注解class获取注解对象
public <A extends Annotation> A getAnnotation(Class<A> annotationClass) {}
//一股脑获取所有的注解
public Annotation[] getAnnotations() {}

拿到注解之后就可以做自己想做的事啦~

上一篇下一篇

猜你喜欢

热点阅读