分享知识-快乐自己:全面解析 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引入 ...
随机推荐
- vue2.X v-model 指令
1.v-model指令 <!DOCTYPE html> <html> <head> <title></title> <script s ...
- vscode 折叠所有区域
- sql 时间相关
1.常用日期方法(下面的GetDate() = '2006-11-08 13:37:56.233') (1)DATENAME ( datepart ,date ) 返回表示指定日期的指定日期部分的字符 ...
- jsp 导出excel
设置头文件 <% response.setHeader( "Pragma ", "public"); response.setHeader( " ...
- 输入一个n,输出2到n的详细素数值
#include<stdio.h> #include<algorithm> #include<cmath> int judge(int a) { int j; fo ...
- Android错误之Location of the Android SDK has not been setup in the preferences
解决的方法:打开Help-Install new software,更新文件就可以,这时国内的朋友就须要FQ了,详细有代理,能够网上自行搜索.
- MAC平台create-react-app使用问题(command not found)
You are able to apply the following solution: $ npm config set prefix /usr/local $ sudo npm install ...
- IntelliJ IDEA生成 Serializable 序列化 UID 的快捷键
首先创建一个类如Movie,让该类实现Serializable序列化接口. 然后我们需要依次按照以下的方法找到 Settings 之后我们需要以下几个操作,并找到 Serializable class ...
- EF Core 日志跟踪sql语句
EF Core 日志跟踪sql语句 官方文档链接:https://docs.microsoft.com/en-us/ef/core/miscellaneous/logging 1.新增自定义ILogg ...
- SERVICE_STATUS结构各成员解析
在编写Windows服务的时候,需要调用API函数::SetServiceStatus()向服务控制管理器(SCM)提交更新当前服务的状态信息,其第2个参数为指向SERVICE_STATUS结构的指针 ...