内置注解

HeJin大约 1 分钟Java注解和反射

定义在java.lang包下。

@Override

重写

java.lang
Annotation Type Override

@Target(value=METHOD)
 @Retention(value=SOURCE)
public @interface Override
Indicates that a method declaration is intended to override a method declaration in a supertype. If a method is annotated with this annotation type compilers are required to generate an error message unless at least one of the following conditions hold:
The method does override or implement a method declared in a supertype.
The method has a signature that is override-equivalent to that of any public method declared in Object.
Since:
1.5
See The JavaLanguage Specification:
9.6.1.4 @Override

@Deprecated

标记过时方法。如果使用该方法,会报编译警告。通常是因为它很危险或者存在更好的选择。

java.lang
Annotation Type Deprecated

@Documented
 @Retention(value=RUNTIME)
 @Target(value={CONSTRUCTOR,FIELD,LOCAL_VARIABLE,METHOD,PACKAGE,PARAMETER,TYPE})
public @interface Deprecated
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.
Since:
1.5
See The JavaLanguage Specification:
9.6.3.6 @Deprecated

@SuppressWarnings

指示编译器去忽略注解中声明的警告,抑制编译时的警告信息。

@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
@Retention(RetentionPolicy.SOURCE)
public @interface SuppressWarnings {
    /**
     * The set of warnings that are to be suppressed by the compiler in the
     * annotated element.  Duplicate names are permitted.  The second and
     * successive occurrences of a name are ignored.  The presence of
     * unrecognized warning names is <i>not</i> an error: Compilers must
     * ignore any warning names they do not recognize.  They are, however,
     * free to emit a warning if an annotation contains an unrecognized
     * warning name.
     *
     * <p> The string {@code "unchecked"} is used to suppress
     * unchecked warnings. Compiler vendors should document the
     * additional warning names they support in conjunction with this
     * annotation type. They are encouraged to cooperate to ensure
     * that the same names work across multiple compilers.
     * @return the set of warnings to be suppressed
     */
    String[] value();
}