Java注解的作用

处理注解

  1. 获取所有类并遍历

    1. Files.walk(rootPath)
    2. android: dalvik.system.DexFile.entries()
  2. 从类上获取注解

    clazz.getAnnotation(XXX.class) XXX指注解名

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface TestAnnotation {
    String value() default "test";
}
Class clazz = Class.forName(className);
if (clazz.isAnnotationPresent(TestAnnotation.class)) {  //判断类型是否存在指定注解。(TestAnnotation为注解名)
    Annotation annotation = clazz.getAnnotation(TestAnnotation.class);  //取指定类型的注解实例
    Method method = annotation.getClass().getDeclaredMethod("value");
    String value = (String) method.invoke(annotation);
    //...
}

注解的作用

  1. 注解的作用是标注信息:
    1. 有无注解本身是一个信息;
    2. 注解内可以定义属性,传递信息
  2. 怎么生效:
    1. 对特定类、方法检测是否持有指定注解,获取注解属性。
    2. 可以扫描所有类,过滤指定注解,进行处理
  3. 类加注解 vs 类定义静态属性
    1. 不同的类定义同样的静态属性,可以通过反射方法检测。但是这些分别定义的静态属性缺乏关联,难以管理。
    2. 注解定义后,作用就确定下来,有一定的约束性,便于维护。
    3. 注解可以用于函数、字段,更灵活。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容