网站首页 > java教程 正文
注解(Annotation):JDK5引入的,用于修饰程序元素,不会对被修饰的程序元素产生直接影响,注解分为普通注解(修饰程序元素的注解)和元注解(修饰注解的注解),JDK自带了很多注解,例如:@SuppressWarnings 忽略警告信息,我们也可以自定义注解,注解既可以用在类上,也可以用在方法上,成员变量上也可以
java自定义注解可以用@interface这个关键字进行声明,注解内部只有成员变量,具体声明的方式和类中的成员变量声明方式不太一样,具体示例:int value() default 0; int 代表该成员变量的数据类型, value成员变量的名字,default 0:默认值,成员变量可以声明多个,即可以有默认值也可以没有,注解的成员变量采用的数据类型可以是8大基本数据类型,也可以String ,CLass,enum,或者上述类型的数组形式
注解其实就是一个标识,比如把它用在类的某个方法上,那么我们用反射加载这个类,获取某个方法,然后判定当前方法是否用了这个注解,如果用了就采取某种行为,没用,就采取另一种行为,这样就可以完成某种加标记的逻辑,例如Junit单元测试基本上就是采用这样原理(注解加反射)
java常用的元注解:
Retention:限定自定义注解的使用域范围,包含三种源码中,字节码中,jvm运行时
Target:指定该注解使用在哪一个地方,例如只能用于类上还是只能用于方法上
Inherited:用来标识自定义的注解具有继承性,例如,一个注解被这个元注解进行了修饰,那么这个自定义注解就有了继承性,体现在使用了这个自定义注解的类,的子类自动继承了该注解
Documented:用来标识自定义注解可以被JavaDoc工具解析
猜你喜欢
- 2024-09-21 Java基础:注解,改变了编程的体验
- 2024-09-21 人手必备!Java8中的注解,你必须知道的几点
- 2024-09-21 Java 进阶之 注解(java中注解如何实现的)
- 2024-09-21 java注解的使用(java注解的实现原理)
- 2024-09-21 不吹牛,撸个注解有什么难的(不吹牛的道理)
- 2024-09-21 终于弄懂了Spring@Component @Repository@Service的区别
- 2024-09-21 2020年最新Java全套教程注解(2020年最新兵役法)
- 2024-09-21 你知道Spring是如何处理注解的吗?
- 2024-09-21 注解梳理:深入理解Java注解类型(@Annotation)
- 2024-09-21 Java中的注解到底是如何工作的?(注解 java)
你 发表评论:
欢迎- 最近发表
-
- class版本不兼容错误原因分析(class更新)
- 甲骨文Oracle公司为Java的最新LTS版本做出改进
- 「版本发布」Minecraft Java开发版 1.19.4-pre1 发布
- java svn版本管理工具(svn软件版本管理)
- 我的世界1.8.10钻石在第几层(我的世界1.7.2钻石在哪层)
- Java开发高手必备:在电脑上轻松切换多个JDK版本
- 2022 年 Java 开发报告:Java 8 八年不到,开发者都在用什么?
- 开发java项目,选择哪个版本的JDK比较合适?
- Java版本选型终极指南:8 vs 17 vs 21特性对决!大龄程序员踩坑总结
- POI Excel导入(poi excel导入附件)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)