最近公司要求要懂点后台开发,于是我就去拿了一份后台的源码~~看了一下发现一大堆@XXX的注解。搞不懂什么意思,看上去还能够影响代码的逻辑好腻害~~不明觉厉~~所以笔者就去学了一下java注解~~
JDK中的注解:
一般我们看到的最多的注解就是@Override了吧,在各种实现接口的方法或者重写父类的方法上可以看到。JDK注解有三个:
@Override 在方法上面写着这个注解就意味着该方法一定要实现或者重写父类的方法。
@Deprecated 有该标注的方法表明该方法已经过时不推荐用。
@suppvieswarnings 这个注解用来忽略某个警告
用法如下:
suppviesWarnings(Deprecated
) ---忽略使用已过期方法的警告
我们看到的比较多的就是这三个注解。
那么除了这三个注解之外还有其它注解:
按照运行机制分类可以分为三类:
1.源码注解 注解自在源码中存在,编译成.class就不存在了,
2.运行时注解 在运行的时候还起作用,甚至还会影响代码的逻辑。
3.编译时注解 编译成.class之后还存在,但是运行的时候就不存在了。
那么我们之前所说的JDK注解是属于这三类的哪一类呢?
通常我们调用某过期的方法,编译的时候编译器会产生警告。如果这个时候你忽略这个警告继续运行,可以看到运行并没有什么问题。所以JDk注解不属于运行时注解,既然在编译之后依然会产生警告说明了JDK注解是编译时注解啦。
除了按照运行机制区分我们还可以按照来源区分
按照来源区分注解也可以分为三类:
1.JDk注解,也就是我们一开始说到的那三个。这里不再多说
2.自定义注解,好吧~~自己定义的注解~~这个后面会说到。
3.第三方注解,其它框架的注解比如Spinner里面的。这类注解也是比较经常用到的。
下一篇会讲述如何自定义注解以及,如何解析自定义注解。