java夯实基础系列:注解

从java 5.0开始,为我们提供注解功能,通过注解可以限制代码的重载,过时,以及实现一些其他功能,这里,就来分析一下java的注解。

本文旨在帮助大家感性的认识注解,一般注解在架构设计中会常用到,可以让代码变得非常简洁,实现代码的复用。

注解作用

注解为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便的使用这些数据。

每当你创建描述符性质的类或者接口时,一旦其中包含了重复性的工作,那就可以考虑使用注解来简化与自动化该过程。

注解分类

内置注解

java内置的标准注解,@Override,@Deprecated,@SuppressWarnings

元注解

java元注解,分别是:

@Target
@Retention
@Documented
@Inherited

这些注解和他们所修饰的类在java.lang.annotation包中,代码都很简单,可以去查看一下。

自定义注解(需要结合注解处理器)

使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation接口,由编译程序自动完成其他细节。在定义注解时,不能继承其他的注解或接口。@interface用来声明一个注解,其中的每一个方法实际上是声明了一个配置参数。方法的名称就是参数的名称,返回值类型就是参数的类型(返回值类型只能是基本类型、Class、String、enum)。可以通过default来声明参数的默认值。

定义注解格式:
public @interface 注解名 {定义体}
注解参数的可支持数据类型:
1.所有基本数据类型(int,float,boolean,byte,double,char,long,short)
2.String类型
3.Class类型
4.enum类型
5.Annotation类型
6.以上所有类型的数组

注解原理

注解相当于一种标记,在程序中加了注解就等于为程序打上了某种标记。程序在运行的时候可以利用java的反射机制来了解你的类及各种元素上有无何种标记,针对不同的标记,就去做相应的事件。标记可以加在包,类,字段,方法,方法的参数以及局部变量上。

就好比定义一个整型变量就是用int,这就是语法!

我们一般引入的一些库,那些注解的处理器(一般做的是反射的处理)都在库里面实现好了,主要是通过反射实现的。

参考资料

Java 注解
https://github.com/haodf-androd-tech/tech_share/blob/master/articles/Java_Annotation.md

怎样优雅地使用java注解?
https://www.zhihu.com/question/36486629

深入理解Java:注解
http://www.cnblogs.com/ITtangtang/p/3974531.html

java注解
http://blog.isming.me/2015/03/06/java-annotation/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值