盒子
盒子
Posts List
  1. 1.注解概念
  2. 2.注解的表现形式
  3. 注解的定义
  4. 注解的使用
  5. 解析注解

注解的简单理解

1.注解概念

注解用于将一些通用的逻辑,用简洁的形式@XXX 替代长长的方法调用。

它能作用于代码期,编译期,运行期。

2.注解的表现形式

注解的定义

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Hello {
public String test();
}

@Rentention 标记注解的作用期,RUNTIME表示是运行期

全部作用期:

SOUECE :作用于编码阶段
CLASS : 作用于编译阶段
RUNTIME : 作用于运行阶段

@Target 标记注解的作用对象的类型ElementType.METHOD 表示作用于方法.

全部类型:

TYPE ===> 作用于类和接口
FIELD ===>作用于属性
METHOD ===>作用于方法
PARAMETER ===>作用于参数
CONSTRUCTOR ===>作用于构造函数
LOCAL_VARIABLE ===>作用于局部变量
ANNOTATION_TYPE ===>作用于注解
PACKAGE ===>作用于包

注解的使用

public class AnnotationTest {
@Hello(value1="abc")
@Deprecated
public void execute(){
System.out.println("method");
}
}

解析注解

Method method = ... //获取方法对象
Annotation[] annotations = method.getDeclaredAnnotations();
for(Annotation annotation : annotations){
if(annotation instanceof Hello){
Hello myAnnotation = (Hello) annotation;
System.out.println("name: " + myAnnotation.name());
System.out.println("value: " + myAnnotation.test());
}
}

最终输出为 abc method

支持一下
扫一扫,支持牛头码农