今天看了一些关于jdk5.0的新特性的视频 ,关于java annocation .
我觉得主要需要理解默认的三个形式,Override 强制复写;Desprecated声明废弃方法;SuppressWarning忽略警告.使用方法:在所需注解前加入@+注解名,例如:
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1327ab569c1ae82736693a50b8e33378.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1327ab569c1ae82736693a50b8e33378.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0196c3df5ea9e936f21e9932cca91014.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
以及自身注解的定义以及使用,annotation默认继承了java.lang.annocation.Annocation的接口,但是不能通过定义接口,继承Annocation来实现。定义方式:
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1327ab569c1ae82736693a50b8e33378.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0196c3df5ea9e936f21e9932cca91014.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
其中,可以运用@Retention告知编译程序需要处理
类为:java.lang.annocation.Retention指示编译该如何对待定义的annocation形态,主要运用到例如java.lang.annocation.RetentionPolicy来进行指代。而RetentionPolicy采用了,为一个枚举(enum)类型,主要有三个属性分别为:
- CLASS 存储在.class文件中,但是不在JVM中读取
- RUNTIME 存储在class中,可以被JVM通过反射方式读取
- SOURCE 不存储在.class文件中,仅在java源文件中,例如:SuppressWarnings