文章目录
- 一、注解是什么?
- 二、使用步骤
- 3、系统中预定义的三个最基本的注解
- (1)@Override
- (2)@SuppressWarnings
- (3)@Deprecated
- 总结
一、注解是什么?
1、注解也叫注释,但是我们平时不叫它叫注释,因为容易把它跟我们代码里面的注释搞混淆,为了区别开来,我们把它叫注解,实际上它也是一种注释
只不过它是一种代码级别的注释,什么叫代码级别的注释呢,就是用代码注释代码
不同于我们之前的单行注释// 和多行注释/* */
当你在代码中看到@开头的就是注解了
2、一个完整的注解,由三部分组成
(1)声明
(2)使用
(3)读取
对于绝大多数程序员来说,面向对象基本是(2)的使用
二、使用步骤
3、系统中预定义的三个最基本的注解
(1)@Override
@Override 这个注解的作用是什么呢?
作用(1)它的作用就是检查这个方法是否符合重写的要求
检查的的东西是什么呢?
① 方法名要求相同
②形参列表要求相同
③返回值类型
基本数据类型 和 void要求相同
引用数据类型:<=
④修饰符
权限修饰符 > =
其它权限修饰符:private , static,final 不能重写
以后我们重写的时候,不要把它去掉,这样易于阅读,一看就知道是重写方法,而且它还能帮我们检查一些细微的问题
【注意】突然发现C#里面根本没有注解
作用(2)
导一下包,然后希望他们不区分大小写,进行排序
(2)@SuppressWarnings
怎样去掉黄色警告呢?那么就要使用到我们今天的主角了@SuppressWarning:抑制警告
怎么用呢?
unchecked 的意思是没有检查,没有检查的意思就是强转没有检查
然后就成了这样
我们想一个问题,要是我们能够看懂这些单词,要是看不懂怎么办,或者说我们有没有办法变得更加简洁一些?有
当然加all的前提是你确定下面的代码是安全的情况下,否则的话,有警告不一定是坏事,反而有助于我们找到问题所在
(3)@Deprecated
我们发现这个类型里面有很多这种方法
这就出来了,那么它到底是什么意思呢?对比一下API
所以 @Deprecated的作用就是:标记某个方法、类、属性、等已过时
不建议程序员继续使用、因为可能有问题,也可能是因为不好用
一般都会告诉你替代方法
为什么还要保留这个方法,直接删掉不行吗?
我们想想如果我JDK升级导致所有的老项目全部要报错全部要改是不是成本太大了,是得不偿失的
所以以前用了就用了,以后不要用了就行了所以面向对象还有一个原则:对修改关闭,对扩展开发
所以这个方法设计得不是很好
你要表示 6月 就得传5 ,这些问题,用起来就很费劲,所以最后被标记淘汰了
总结
1、注解这三个常用的单词要记一下@Override、@SuppressWarnings、@Deprecated
2、在eclipse里面以后遇到删除线的方法尽量别用,如果用到了,一定要注意可能有坑