自定义注解以及注解在反射中的应用
✿ 注解三要素:注解本身、被贴者、第三方程序(赋予注解的特殊功能)
目录
❀ 注解本质就是抽象类【把它理解成类自定义跟使用起来就so easy】
2、使用注解(‘贴一下’)【因为定义的注解的注解范围是类,只能贴在类上】
一、Annotation注解(也加标注)
Java 中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。(反射获取注解内容:编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以获取到标注内容。)
■ 注解包括:内置的注解 和 自定义注解
其中内置的注解:Java 定义了一套注解,共有 7 个,3 个在 java.lang 中,剩下 4 个在 java.lang.annotation 中。
■ 作用在代码的注解和元注解:
□ 作用在代码的注解:
- @Override - 检查该方法是否是重写方法。如果发现其父类,或者是引用的接口中并没有该方法时,会报编译错误。
- @Deprecated - 标记过时方法。如果使用该方法,会报编译警告。
- @SuppressWarnings - 指示编译器去忽略注解中声明的警告。
□ 元注解(作用在其他注解的注解):
- @Retention - 标识这个注解怎么保存,是只在代码中,还是编入class文件中,或者是在运行时可以通过反射访问。
- @Documented - 标记这些注解是否包含在用户文档中。
- @Target - 标记这个注解应该是哪种 Java 成员。
- @Inherited - 标记这个注解是继承于哪个注解类(默认 注解并没有继承于任何子类)
□ 重点介绍一下@Retention 和 @Target:
❀ 注解重要应用:在反射中使用 Annotation
(1)注解在类名上:
(2)注解在方法名上:
(3)注解在属性上:
总结:自定义注解的使用
❀ 注解本质就是抽象类【把它理解成类自定义跟使用起来就so easy】
1、定义一个注解类:
● @Target(ElementType.TYPE) 是元注解,表示自定义的注解类Table 注解的范围是TYPE 类。
● @Retention(RetentionPolicy.RUNTIME) 也是元注解,表示自定义的注解类Table 注解生效是在运行RUNTIME 的时候。
2、使用注解(‘贴一下’)【因为定义的注解的注解范围是类,只能贴在类上】
3、获取自定义注解标签中值,即调用自定义注解类中的方法
● 创建自定义注解对象,利用自定义注解对象调用方法
本文来自博客园,作者:一乐乐,转载请注明原文链接:https://www.cnblogs.com/shan333/p/15939235.html