Java注解(Annotation)详解(一)——概述及JDK自带注解
来源:互联网 发布:什么是编程范式 编辑:程序博客网 时间:2024/06/03 15:54
转 http://blog.csdn.net/zen99t/article/details/49506919>
(一)概述及JDK自带注解
最近在学习Java注解,看了慕课网的视视频后感觉明白了很多,但我相信一段时间后肯定会忘记,所以做做笔记。
1.何为注解?
概念:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。
如下所示,我们在编程中经常遇到的@Override等等都是注解。
2.注解的分类
2.1 按照运行机制 (往后会讲)
源码注解:
注解只在源码中存在,编译成.class文件就不存在了。
注解只在源码中存在,编译成.class文件就不存在了。
编译时注解:
注解在源码和.class文件中都存在。(例如:JDK的三个注解)
运行时注解:
在运行阶段还起作用,甚至会影响运行逻辑的注解。
注解在源码和.class文件中都存在。(例如:JDK的三个注解)
运行时注解:
在运行阶段还起作用,甚至会影响运行逻辑的注解。
2.2 按照来源分
来自JDK的注解:上面图片的三个@Override @Deprecated @SuppressWarning,接下来会介绍 来自第三方的注解:比如Spring框架、Mybatis框架的注解等等,以后再说吧
我们自己定义的注解:往后会详细地讲
3.JDK自带注解
@Override 表示当前方法覆盖了父类的方法
@Deprecation 表示方法已经过时,方法上有横线,使用时会有警告。
@SuppviseWarnings 表示关闭一些警告信息(通知java编译器忽略特定的编译警告)
@Deprecation 表示方法已经过时,方法上有横线,使用时会有警告。
@SuppviseWarnings 表示关闭一些警告信息(通知java编译器忽略特定的编译警告)
直接上代码讲解吧,定义一个接口Animal:
然后定义一个Bird类实现该接口,此时提示需要实现Animal接口的方法:
点击Add unimplemented methods后会自定实现接口方法,此时方法上方出现@Override注解,这是一个标识注解,表示当前方法覆盖了父类的方法。
我们可以再创建一个AngryBird类继承Bird,覆盖父类的run()方法:
最后编写一个Test类测试一下,出现警告:run()方法已经过时。为什么呢?因为我在定义Animal接口时,在run()方法上添加了注解@Deprecation,表示方法已经过时,方法上有横线,使用时会有警告。
当然我们忽略警告,直接运行也是可以的,但如果有强迫症的同学呢,可以增加@SuppressWarnings来去掉警告:
好,最后运行结果为:
开始写博客记录笔记,方便以后自己复习。往后继续加油!
阅读全文
0 0
- Java注解(Annotation)详解(一)——概述及JDK自带注解
- Java注解(Annotation)详解(一)——概述及JDK自带注解
- Java注解(Annotation)详解(一)——概述及JDK自带注解
- 黑马程序员——JAVA高新技术---注解Annotation---概述,java的三种注解,元注解
- Java注解(Annotation)详解(二)——自定义注解
- Java注解(Annotation)详解(三)——解析注解
- Java注解(Annotation)详解(二)——自定义注解
- Java注解(Annotation)详解(三)——解析注解
- Java注解(Annotation)详解(二)——自定义注解
- Java注解(Annotation)详解(三)——解析注解
- Java注解(Annotation)详解(二)——自定义注解
- Annotation注解---详解(一)
- java 注解annotation(一)
- Java注解Annotation详解
- Java注解Annotation详解
- Java注解Annotation详解
- Java注解Annotation详解
- Java注解Annotation详解
- 深度学习中的卷积与反卷积
- 线程
- Xml的schema约束
- CentOS重启ssh服务命令
- JVM GC时堆内存中新生代的复制算法
- Java注解(Annotation)详解(一)——概述及JDK自带注解
- Ajax提交form表单(包括文件上传)
- 使用Pandas对数据进行筛选和排序
- Qt之QTcpServer/QTcpSocket简单收发信息(2)
- struts2_day03_16_ognl表达式#使用_17_ognl表达式%使用
- Leetcode:Hamming Distance一些小结
- Mock.js使用
- 共同学习Java源代码-数据结构-HashMap(十八)
- qrcode将生成的二维码转成img格式