博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中的注解
阅读量:6658 次
发布时间:2019-06-25

本文共 1800 字,大约阅读时间需要 6 分钟。

hot3.png

1)自定义注解:

1)定义注解:	语法:public [@interface](https://my.oschina.net/u/996807) 注解名{}	举例:		public [@interface](https://my.oschina.net/u/996807) MyAnnotation{			String name() default "jack";		}2)定义注解的属性:	语法:		类型 属性名();		类型 属性名() default 默认值;		赋值:		说明:在使用时,进行赋值。		举例:@MyAnnotation(name="hello")		特殊属性value:		类型 value();			只给value设值:	@MyAnnotation(value="hello") 或 @MyAnnotation("hello")			给多个属性设值:@MyAnnotation(value="hello",name="aaa")				类型[] value();			只给value设值:	@MyAnnotation(value={"a","b"}) 或 @MyAnnotation({"a","b"}) 或 @MyAnnotation({"a"}) 或 @MyAnnotation("a")						给多个属性设值:同上。	注意:注解的属性的类型只能是:基本类型、String、Class、枚举、注解类型 和 这些类型的一维数组。

2)元注解:

1)概念:加在注解上的注解。2)常用的元注解:	@Retention:注解的保留范围		RetentionPolicy.SOURCE:	注解存在于源文件中		RetentionPolicy.CLASS:		注解存在于字节码文件中		RetentionPolicy.RUNTIME:	注解存在于运行时			@Target:注解出现的位置		eg:@Target(ElementType.METHOD)			@Target({ElementType.FIELD,ElementType.METHOD})				@Inherited:  被该元注解修饰的Annotation类将具有继承性,如果某个类使用了被@Inherited修饰的Annotation, 则该类的子类会自动加上这个被@Inherited修饰的Annotation。	@Documented: 被该元注解修饰的Annotation类将被javadoc工具提取成文档。

3)注解处理器相关API:

1)java.lang.annotation.Annotation:	说明:该接口是所有注解类的父接口。2)java.lang.reflect.AnnotatedElement:		概念:表示一个正在VM中运行并且被注解修饰的元素(类、方法、字段等),该接口允许通过反射的方式来读取元素上的注解。		实现类:java.lang.reflect包下的:Class、Constructor、Method、Field、Package		说明:该接口中的方法返回的所有注解都是不可变的。	该接口中的方法:		1>getAnnotation(clazz)			
T getAnnotation(Class
annotationClass): 说明:如果该元素被指定类型的注解所修饰,则返回该注解,否则返回null。 2>getAnnotations() Annotation[] getAnnotations() 说明:返回此元素上所有的注解。 3>getDeclaredAnnotations() Annotation[] getDeclaredAnnotations() 说明:返回直接在该元素上修饰的所有的注解,该方法会忽略掉从父类继承过来的注解。 4>isAnnotationPresent(clazz) boolean isAnnotationPresent(Class
annotationClass) 说明:判断该元素是否被指定类型的注解修饰。

转载于:https://my.oschina.net/u/1399755/blog/1525215

你可能感兴趣的文章
关于python中的if __name__=='__main__'语句问题
查看>>
线程组
查看>>
涉密数据的处理
查看>>
python简介
查看>>
python字典开发三级菜单
查看>>
.net Framework下载地址
查看>>
深圳偶遇
查看>>
如何有效地记录 Java SQL 日志?
查看>>
学习Linux决心书
查看>>
Java本地文件操作(五)遍历文件夹
查看>>
BGP学习笔记
查看>>
linux 磁盘分区(一)
查看>>
在虚拟机中的域环境下批量安装部署软件(第三节)
查看>>
java基础(jdbc上)
查看>>
python文件读写,以后就用with open语句
查看>>
自然语言处理NLP(三)
查看>>
苏州大学GCT
查看>>
go语言碎片整理之 time
查看>>
spring mvc 返回json 数据
查看>>
我的友情链接
查看>>