分享知识-快乐自己:全面解析 java注解实战指南
请你在看这篇文章时,不要感到枯燥,从头到尾一行行看,代码一行行读,你一定会有所收获的。
问:
为什么学习注解?
学习注解有什么好处?
学完能做什么?
答:
1):能够读懂别人的代码,特别是框架相关的代码
2):让编程更加简洁,代码更加清晰
3):让别人高看一眼
概念:
Java提供了一种原程序中的元素关联任何信息和任何元数据的途径和方法。
Java中的常见注解:
JDK自带注解:
详解:
@Override:简单来说就是一个类去实现某一个接口必须要实现的方法;

@Deprecate:一个接口中有一个唱歌的方法,问题是并不是所有人都会唱歌所以 @Deprecate标记 过时的意思。


@SuppressWarnings:忽略警告提示

常见的第三方注解:


简单回顾:

注解分类:


源码注解:

编译时注解:

运行时注解:

注:还有 元注解 就说注解的注解
自定义注解:
自定义注解的语法要求:

提示:
1):成员类型是受限制的,合法的类型包括原始类型及 String、Class、Annotation、Enumeration
2):如果注解只有一个成员,则成员名必须取名为 value(),在使用时可以忽略成员名字和赋值号(=)
3):注解类可以没有成员,没有成员注解的注解为标识注解
注解的注解(元注解):
@Target:作用域
@Retention:生命周期
@Inherited:允许子类继承:对接口无效,并且只对类有效,其它无效
@Document:生成javadoc 时会包含注解


使用自定义注解:
使用自定义注解的语法:


@Description 注解在 eyeColor()方法上使用。
解析注解:
通过反射获取类、函数或成员上的运行时注解信息,从而实现动态控制程序运行的逻辑。
案例Demo:
https://github.com/MlqBeginner/UseInClass/blob/master/custom2.rar
这是一个包,开启一个java工程粘贴进去即可。
注解应用实战:

案例Demo:
https://github.com/MlqBeginner/UseInClass/blob/master/custom3.rar
这是一个包,开启一个java工程粘贴进去即可。
总结:




Face your past without regret. Handle your present with confidence.Prepare for future without fear. keep the faith and drop the fear.
面对过去无怨无悔,把握现在充满信心,备战未来无所畏惧。保持信念,克服恐惧!一点一滴的积累,一点一滴的沉淀,学技术需要不断的积淀!
分享知识-快乐自己:全面解析 java注解实战指南的更多相关文章
- 框架基础——全面解析Java注解
为什么学习注解? 学习注解有什么好处? 学完能做什么? 答:1. 能够读懂别人写的代码,特别是框架相关的代码: 2. 让编程更加简洁,代码更加清晰: 3. 让别人高看一眼. spring.mybati ...
- 【iMooc】全面解析java注解
在慕课上学习了一个关于java注解的课程,下面是笔记以及一些源码. Annotation——注解 1.JDK中的注解 JDK中包括下面三种注解: @Override:标记注解(marker annot ...
- 全面解析java注解
一.注解概述 1.学习注解能够读懂别人的代码,特别是框架相关的代码 2.让自己的编程更加简洁,代码更加清晰 3.让别人高看一眼,会使用自定义注解来解决问题 ...
- 基础篇:深入解析JAVA注解机制
目录 java实现注解的底层原理和概念 五种元注解详解 使用动态代理机制处理注解 spring.AOP和注解机制 (题外)@FunctionalInterface原理介绍 欢迎指正文中错误 关注公众号 ...
- 分享知识-快乐自己:初中级 java 面试题宝典
1):Jsp的重定向和转发的流程有什么区别 重定向是客户端行为,转发是服务器端行为 重定向时服务器产生两次请求,转发产生一次请求,重定向时可以转发到项目以外的任何网址,转发只能在当前项目里转发 重定向 ...
- 分享知识-快乐自己:SpringBoot 使用注解API的方式定义启动端口号
在Spring Boot2.0以上配置嵌入式Servlet容器时EmbeddedServletContainerCustomizer类不存在,经网络查询发现被WebServerFactoryCusto ...
- Java注解入门
注解的分类 按运行机制分: 源码注解:只在源码中存在,编译后不存在 编译时注解:源码和编译后的class文件都存在(如@Override,@Deprecated,@SuppressWarnin ...
- Java注解系统学习与实战
背景 为什么要再次梳理一下java注解,显而易见,因为重要啊.也是为研究各大类开源框架做铺垫,只有弄清楚Java注解相关原理,才能看懂大部分框架底层的设计. 缘起 注解也叫做元数据,是JDK1.5版本 ...
- Java注解教程:自定义注解示例,利用反射进行解析
Java注解能够提供代码的相关信息,同时对于所注解的代码结构又没有直接影响.在这篇教程中,我们将学习Java注解,如何编写自定义注解,注解的使用,以及如何使用反射解析注解. 注解是Java 1.5引入 ...
随机推荐
- [翻译]MySQL 文档: Control Flow Functions(控制流函数)
本文翻译自13.4 Control Flow Functions Table 13.6 Flow Control Operators 名称 描述 CASE Case 运算符 IF() if/else ...
- javascript if(条件)------------条件中可以使用的值
1.布尔变量true/false2.数字非0,非NaN/ ( 或NaN) NaN--------Not a Number 3.对象非null/(null或undefined) 4.字符串非空串(&qu ...
- mysql:4种时间类型
insert 12 ================= 养成良好的习惯,除了整形和浮点型不加'',其余都加,包括日期时间型
- js的常用小技巧
//类对象转成数组 var domNodes = Array.prototype.slice.call(document.getElementsByTagName("*")); ...
- Centos 7.0防火墙问题
从Centos7开始,自带的防火墙从iptables更改成了firewall.一般在企业环境,出于人力和稳定性考虑,还是用成熟的技术比较稳妥. 以下是关闭firewall的方法 systemctl s ...
- 实模式切换到保护模式,为什么要开启A20地址线(系统升级产生的兼容性问题)
[-1]写在前面: 以下部分内容总结于 http://blog.csdn.net/ruyanhai/article/details/7181842 complementary: 兼容性是指运行在前期C ...
- wpf自定义colorpicker
自定义colorpicker <ObjectDataProvider MethodName="GetType" ObjectType="{x:Type system ...
- iOS - 集成SDK问题
1.大部分社交平台接口不支持https协议. 问题描述:在iOS9下,系统默认会拦截对http协议接口的访问,因此无法获取http协议接口的数据.对ShareSDK来说,具体表现可能是,无法授权.分享 ...
- Javaweb之 servlet 开发具体解释1
1.1 Tip:Servlet简单介绍 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发 ...
- 3597: [Scoi2014]方伯伯运椰子[分数规划]
3597: [Scoi2014]方伯伯运椰子 Time Limit: 30 Sec Memory Limit: 64 MB Submit: 404 Solved: 249 [Submit][Sta ...