文章目录

  • ​​一、注解是什么?​​
  • ​​二、使用步骤​​
  • ​​3、系统中预定义的三个最基本的注解​​
  • ​​(1)@Override​​
  • ​​(2)@SuppressWarnings​​
  • ​​(3)@Deprecated​​
  • ​​总结​​

一、注解是什么?

1、注解也叫注释,但是我们平时不叫它叫注释,因为容易把它跟我们代码里面的注释搞混淆,为了区别开来,我们把它叫注解,实际上它也是一种注释
只不过它是一种代码级别的注释,什么叫代码级别的注释呢,就是用代码注释代码
不同于我们之前的单行注释// 和多行注释/* */
当你在代码中看到@开头的就是注解了
2、一个完整的注解,由三部分组成
(1)声明
(2)使用
(3)读取
对于绝大多数程序员来说,面向对象基本是(2)的使用

二、使用步骤

3、系统中预定义的三个最基本的注解

(1)@Override

00014.05注解概述与3个系统基本注解_面向对象

@Override 这个注解的作用是什么呢?
作用(1)它的作用就是检查这个方法是否符合重写的要求
检查的的东西是什么呢?
① 方法名要求相同
②形参列表要求相同
③返回值类型
基本数据类型 和 void要求相同
引用数据类型:<=
④修饰符
权限修饰符 > =
其它权限修饰符:private , static,final 不能重写

以后我们重写的时候,不要把它去掉,这样易于阅读,一看就知道是重写方法,而且它还能帮我们检查一些细微的问题

【注意】突然发现C#里面根本没有注解
作用(2)

00014.05注解概述与3个系统基本注解_面向对象_02

导一下包,然后希望他们不区分大小写,进行排序

00014.05注解概述与3个系统基本注解_ide_03


00014.05注解概述与3个系统基本注解_权限修饰符_04


00014.05注解概述与3个系统基本注解_权限修饰符_05


00014.05注解概述与3个系统基本注解_权限修饰符_06

00014.05注解概述与3个系统基本注解_ide_07

(2)@SuppressWarnings

00014.05注解概述与3个系统基本注解_权限修饰符_08


00014.05注解概述与3个系统基本注解_面向对象_09


怎样去掉黄色警告呢?那么就要使用到我们今天的主角了@SuppressWarning:抑制警告

怎么用呢?

00014.05注解概述与3个系统基本注解_权限修饰符_10


00014.05注解概述与3个系统基本注解_权限修饰符_11


unchecked 的意思是没有检查,没有检查的意思就是强转没有检查

00014.05注解概述与3个系统基本注解_权限修饰符_12


然后就成了这样

00014.05注解概述与3个系统基本注解_ide_13

我们想一个问题,要是我们能够看懂这些单词,要是看不懂怎么办,或者说我们有没有办法变得更加简洁一些?有

00014.05注解概述与3个系统基本注解_ide_14


当然加all的前提是你确定下面的代码是安全的情况下,否则的话,有警告不一定是坏事,反而有助于我们找到问题所在

(3)@Deprecated

00014.05注解概述与3个系统基本注解_ide_15


我们发现这个类型里面有很多这种方法

00014.05注解概述与3个系统基本注解_面向对象_16


00014.05注解概述与3个系统基本注解_权限修饰符_17


这就出来了,那么它到底是什么意思呢?对比一下API

00014.05注解概述与3个系统基本注解_面向对象_18


所以 @Deprecated的作用就是:标记某个方法、类、属性、等已过时

不建议程序员继续使用、因为可能有问题,也可能是因为不好用

一般都会告诉你替代方法

00014.05注解概述与3个系统基本注解_权限修饰符_19


为什么还要保留这个方法,直接删掉不行吗?

我们想想如果我JDK升级导致所有的老项目全部要报错全部要改是不是成本太大了,是得不偿失的

所以以前用了就用了,以后不要用了就行了所以面向对象还有一个原则:对修改关闭,对扩展开发

00014.05注解概述与3个系统基本注解_ide_20


00014.05注解概述与3个系统基本注解_面向对象_21


所以这个方法设计得不是很好

00014.05注解概述与3个系统基本注解_权限修饰符_22


你要表示 6月 就得传5 ,这些问题,用起来就很费劲,所以最后被标记淘汰了

总结

1、注解这三个常用的单词要记一下@Override、@SuppressWarnings、@Deprecated
2、在eclipse里面以后遇到删除线的方法尽量别用,如果用到了,一定要注意可能有坑