예:
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() {
//작업 코드;
}
}
검사 구성:
지원 중단된 멤버, 지원 중단된 추상 메서드 재정의, static이 아닌 import 문, 지원 중단된 클래스의 메서드 또는 동일한 최상위 클래스에서 검사를 비활성화하려면 검사 옵션을 사용하세요.