源码
package java.lang;
import java.lang.annotation.*;
import static java.lang.annotation.ElementType.*;
/**
* A program element annotated @Deprecated is one that programmers
* are discouraged from using, typically because it is dangerous,
* or because a better alternative exists. Compilers warn when a
* deprecated program element is used or overridden in non-deprecated code.
*
* @author Neal Gafter
* @since 1.5
* @jls 9.6.3.6 @Deprecated
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})
public @interface Deprecated {
}
作用
这个标签可以作用于构造函数, 成员属性, 本地变量, 方法, 包, 参数, 类。
该注解用于声明当前被改注解 注释的当前元素(上面的几种),是不推荐使用的,也就是我们常说的被 废弃 的,在使用这些相关的元素时是有风险,可能会出现错误不能实现相应的效果,但是依旧可以使用,编译器在非弃用代码中使用或重写弃用程序元素时会发出警告。
在注释中 使用 @deprecated 来描述因何有风险或者被废弃。