示例:
class Interesting {
/**
* @deprecated 改用 {@link #newHotness()}
*/
@Deprecated
public void oldAndBusted() {}
public void newHotness() {}
}
class ElseWhere {
void x(Interesting i) {
i.oldAndBusted(); // 此处为已弃用警告
}
}
在应用快速修复后:
class Interesting {
/**
* @deprecated 改用 {@link #newHotness()}
*/
@Deprecated
public void oldAndBusted() {}
public void newHotness() {}
}
class ElseWhere {
void x(Interesting i) {
i.newHotness();
}
}
默认情况下,如果不可能或很难避免,则检查不会发出警告。 比如下面的代码就不会被报告:
abstract class A { //库代码
@Deprecated
abstract void m();
}
class B extends A { //项目代码
@Override
void m() {
//doSmth;
}
}
配置检查:
使用选项可以在弃用成员、abstract 弃用方法重写、非 static import 语句、弃用类的方法或相同的顶级类中禁用此检查。