JAVA反射(4)
来源:互联网 发布:动态图修改软件 编辑:程序博客网 时间:2024/06/05 17:29
0.定义一个注解
@Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Column { public String name() default "fieldName"; public String setFuncName() default "setField"; public boolean defaultDBValue() default false; }
1.元注解是什么
a) 作用:就是负责注解其他注解
b) 种类:@Target、 @Retention、@Documented、@Inherited
2.@Target
a) 作用:说明类Annotation所修饰的对象范围
b) 作用范围:packages、types(类、接口、枚举)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。
c) ElementType取值 :
1)constructor 用于描述构造器
2)field 用于描述域
3)local_variable 用于描述局部变量
4)method 用于描述方法
5)package 用于描述包
6)parameter 用于描述参数
7)type 用于描述类、接口(包括注解类型)或 enum声明
d)java中‘域(field)’是什么?所谓的域,翻译成英文就是field, 也就是我们常说的字段,或者说是属性。 比如类的字段(属性),局部的,全局的。所谓域,其实是“field”的翻译。然后实例域,就是 实例("object" )的"field"。包括实例域和静态域,静态域又叫类域。java中对象中的数据称为实例域(instance field)。
3.@Retention
a)定义注解的保留策略,即描述注解生命周期
b) RetentionPolicy取值范围:
1)source 在源文件中有效(即源文件保留)
2)class 在class文件中有效(即class保留)
3)runtime 在运行时有效(即运行时保留)
4.@Documented
作用:标记注解,用于描述其它类型的annotation应该被作为被标注的程序成员的公共API,因此可以被例如javadoc此类的工具文档化
5.@Inherited
作用:标记注解,阐述了某个被标注的类型是被继承的
注意:@Inherited annotation类型是被标注过的class的子类所继承。类并不从它所实现的接口继承annotation,方法并不从它所重载的方法继承annotation。
- java反射(4)反射赋值
- Java反射4
- java反射4
- JAVA反射(4)
- 【反射】JAVA反射机制
- java反射详解(4)
- Java学习笔记4-反射
- JAVA 反射
- java 反射
- Java反射
- java反射
- java反射
- JAVA反射
- java 反射
- Java 反射
- java 反射
- Java反射
- java反射
- HTML基础--基础标签 02
- Linux虚拟机下安装 JDK 和 Tomcat
- JAVA反射(2)
- Think PHP 5学习笔记
- JAVA反射(3)
- JAVA反射(4)
- 常用网址
- JDK1.8 动态代理机制及源码解析
- TCP协议以及其报头结构分析
- 腾讯笔试题--微信红包
- 递归删除一个文件夹
- JNI开发流程
- Spring 源码之 BeanDefinition阅读
- SpringMvc的DispatcherServlet和Control的线程安全问题