java中,注解可用于类、类成员变量、类方法等;代码中对于废弃的成员、覆盖的成员、忽略警告等,均采用注解。
Java提供了三种内建注解:
1. @Override——当我们想要复写父类中的方法时,我们需要使用该注解去告知编译器我们想要复写这个方法。这样一来当父类中的方法移除或者发生更改时编译器将提示错误信息。
2. @Deprecated——当我们希望编译器知道某一方法不建议使用时,我们应该使用这个注解。Java在javadoc 中推荐使用该注解,我们应该提供为什么该方法不推荐使用以及替代的方法。
3. @SuppressWarnings——这个仅仅是告诉编译器忽略特定的警告信息,例如在泛型中使用原生数据类型。它的保留策略是SOURCE(译者注:在源文件中有效)并且被编译器丢弃。
@Deprecated
一、作用
在Java中凡是使用@Deprecated标志的类,都是不鼓励使用的类,如果使用或者进行重写,程序会发出警告。
二、场景
一般的话,使用这个注释都是该类不再使用,比如说设计类的时候,之前类存在,但是现在由于业务原因该类不再使用,但不保证后期会不会再重新使用,就可以先用@Deprecated注释着,后期如果更改需要重新使用过的话就提取出来。
三、传递性
如果类被@Deprecated标识,IDE会给出提示
继承此类会发出警告
使用时原类会给出警告,继承类没有提示
@Override
这个大家应该很熟悉了,提示子类要复写父类中被 @Override 修饰的方法
@SuppressWarnings
阻止警告的意思。之前说过调用被 @Deprecated 注解的方法后,编译器会警告提醒,而有时候开发者会忽略这种警告,他们可以在调用的地方通过 @SuppressWarnings 达到目的。
@SuppressWarnings("deprecation")
public void test1(){
Hero hero = new Hero();
hero.say();
hero.speak();
}