全面解析java注解
相信有过编程经验的人都见过注解这种东西,也许像我一样,会用、熟练之后,也就一直放那不管了。但是有没有一天突然想到,注解是个什么东西,如果你想到了,那么恭喜你,恭喜你想到了。不论多么复杂的框架、多么复杂的代码、无非是封装、继承、反射、泛型。但是,注解这种东西,是完全独立于java正常体系之外的东西,所以今天在这里一探究竟。
1.java常用注解:@Override(覆盖,覆写),@Deprecated(表明该方法已经过时,在调用的时候会有警告),@Suppvisewarnings(忽略某些警告)
2.自定义注解:
@Inherited//表示该注解注解的类,被继承的时候,子类也有了该注解(只能作用于类,不能作用于方法和接口) @Retention(RetentionPolicy.SOURCE)//注解的生命周期,可以是源码期,编译期,运行期 @Target({ElementType.TYPE,ElementType.METHOD})//注解的作用域,可以是类,也可以是方法 @Documented//表示生成Javadoc的时候会包含注解信息 public @interface zhujie {String desc();//注解的内容,实际上是一个变量,其类型只能是基本类型和String、Enumeration等常见类型int age() default 18; }
3.解析注解
public class Jiexi {public static void main(String[] args){try {//先通过反射获取到java类Class a=Class.forName("A");//该方法来查看某类是否有注解,参数是定义的注解类的Class对象boolean isExist=a.isAnnotationPresent(zhujie.class);if(isExist){System.out.println("我是类上的注解");}//用反射方法获取该类的所有方法,并且查看是否含有某注解Method[]methods=a.getMethods();for (int i = 0; i < methods.length; i++) {Method method=methods[i];boolean isExist2=method.isAnnotationPresent(zhujie.class);if(isExist2){System.out.println("我是方法上的注解");}//也可以获取某方法上面的所有注解,一个一个遍历找到是否包含自己要找的注解Annotation annotation[]=method.getAnnotations();for (Annotation annotation1 : annotation) {if(annotation1 instanceof zhujie){System.out.println("我是方法上的注解!");}}}} catch (ClassNotFoundException e) {e.printStackTrace();}} }
转载于:https://www.cnblogs.com/xiaoao/p/10574269.html
全面解析java注解相关推荐
- 框架基础——全面解析Java注解
阅读目录 一.概念 二.Java中的常见注解 三.注解的分类 四.自定义注解 五.注解的项目实战 六.注解总结 为什么学习注解? 学习注解有什么好处? 学完能做什么? 答:1. 能够读懂别人写的代码, ...
- 【Java 注解】自定义注解 ( 注解解析 )
文章目录 一.定义注解 二.使用注解 三.解析注解 四.通过注解对象获取注解属性的原理 在 [Java 注解]自定义注解 ( 注解属性定义与赋值 ) 博客中讲解了 注解属性 ; 在 [Java 注解] ...
- Java注解解析-搭建自己的注解处理器(CLASS注解使用篇)
该文章是继Java注解解析-基础+运行时注解(RUNTIME)之后,使用注解处理器处理CLASS注解的文章.通过完整的Demo例子介绍整个注解处理器的搭建流程以及注意事项,你将知道如何去搭建自己的注解 ...
- Java注解原理解析 转载至:梅仁
一.注解(Annotation)简介 用武之地: 我们不拿定义做解释,因为相信看定义是非常枯燥的.注解用在哪?简单一句话就是,注解几乎是作为简化配置使用的技术.注解是jdk1.5以后出现的,它被广泛的 ...
- (原创)JAVA注解应用——实现属性的自动检测
一.什么是注解 Annotation(注解)是JDK5.0及以后版本引入的新特性.它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查.注解是以'@注解名'在代码中存在的,根据注解参数的个数 ...
- 简述java中的注释以及用法_怎样理解 Java 注解和运用注解编程?
正好最近在公众号(BetterAndroid)发了一篇关于注解的文章,贴在这里吧,希望对题主有帮助. 一.什么是注解 我们都知道在Java代码中使用注释是为了提升代码的可读性,也就是说,注释是给人看的 ...
- 深入理解 Java 注解
本文内容基于 JDK8.注解是 JDK5 引入的,后续 JDK 版本扩展了一些内容,本文中没有明确指明版本的注解都是 JDK5 就已经支持的注解. :notebook: 本文已归档到:「blog」 : ...
- 【Java注解】注解基础
笔记来源:IMOOC Java注解 注解的分类 按照运行机制分 源码注解:注解只在源码中存在,编译成 .class 文件就不存在了 编译时注解:注解在源码和 .class 文件中都存在 运行时注解:在 ...
- 你真的会用java注解吗?
"揭开java注解的神秘面纱" 介绍 想必大家在接触java,甚至部分工作几年的,对于类.方法.字段上的 @xxx 都有一种迷茫:这是啥玩意,它是怎么运行起来的? 别慌,这就是ja ...
最新文章
- 研究者设计了Fastball任务早期诊断阿尔茨海默病
- 程序员面试题精选100题(34)-数组中只出现一次的数字[算法]
- 动态规划和摩尔投票法
- python局部变量想作用于全局_python 局部和全局作用域
- load xml error什么意思_XML文件解析实践(DOM解析)
- VS2010开发如何在c#中使用Ctrl、Alt、Tab等全局组合快捷键
- 巨无霸Win8PE X64服务器维护专用,【13年4月4日】维护版win8pe【32位+64位+纯64位】(支持BIOS+EFI)...
- android放在上个元素的左边代码,控件悬浮在某个控件之上 Android五大布局方式——相对布局(RelativeLayout)属性详解...
- 角色和权限Hibernate实体映射配置
- Math类的三个方法比较: floor() ceil() round()
- AndroidStudio安卓原生开发_UI高级_自定义主题和样式---Android原生开发工作笔记129
- FastAPI + Vue 前后端分离 接口自动化测试工具 apiAutoTestWeb
- 区分PC端与移动端代码,涵盖C#、JS、JQuery、webconfig
- mark点Z3学习资料整理
- javascript---不可靠的“undefined”
- linux下部署selenium爬虫程序
- LDO与电压基准源的精度对比
- arm-linux-gcc踩坑1
- 这五个灵魂问题,解决BI新人80%的困惑
- 1.EKL在项目中担当的位置
热门文章
- mft文件记录属性头包括_NTFS 文件系统基础知识
- cnn识别mnist、Fashion-MNIST(pytorch)
- mint ui tabbar选中后怎么改变icon图标_UI全书(下)读后梳理:iPhone设计规范和Material Design规范...
- h3c怎么创建虚拟服务器,h3c 设置虚拟服务器
- 云存储服务器技术,​云存储技术构架-服务器运维
- 小程序promise封装post请求_微信小程序用promise封装请求
- VC6命令行编译工程方法
- P3159 [CQOI2012]交换棋子(费用流)
- 51单片机学习笔记(郭天祥版)(4)——练习、动态扫描、练习、数码管消影...
- [JZOJ5281]钦点题解--瞎搞+链表