1、@非推奨
このコンストラクター、フィールド、ローカル変数、メソッド、パッケージ、パラメーター、クラスなどの使用が推奨されていないことを示します。これは通常、危険であるか、より適切な代替手段があるためです。
2、@ SuppressLint
Lintは、Androidプロジェクトの正確性、セキュリティ、パフォーマンス、使いやすさ、アクセシビリティを分析およびチェックする静的チェッカーです。検査オブジェクトには、XMLリソース、ビットマップ、ProGuard構成ファイル、ソースファイル、さらにはコンパイルされたバイトコードが含まれます。
このチェッカーでは、@ SuppressLintアノテーションを使用して、指定された警告を無視できます。
3、@ Override
現在のメソッドの定義がスーパークラスのメソッドをオーバーライドすることを示します
4.注釈の注釈
メタアノテーション | 説明 | 値 |
@目標 | 注釈を使用できる場所を示します | ElementType.ANNOTATION_TYPEは、注釈タイプに適用できます。 ElementType.CONSTRUCTORはコンストラクターに適用できます。 ElementType.FIELDは、フィールドまたは属性に適用できます。ElementType.LOCAL_VARIABLEは、ローカル変数に適用できます。 ElementType.METHODは、メソッドレベルのアノテーションに適用できます。 ElementType.PACKAGEは、パッケージ宣言に適用できます。 ElementType.PARAMETERは、メソッドパラメーターに適用できます。ElementType.TYPEは、クラスの任意の要素に適用できます。 |
@保持 | 注釈情報を保存する必要があるレベルを示します | 1. SOURCE:ソースファイルで有効(つまり、ソースファイルが予約されている) 2。CLASS:クラスファイルで有効(つまり、クラスが予約されている) 3。RUNTIME:実行時に有効(つまり、で予約されている)ランタイム) |
@Documented | この注釈がJavadocに含まれていることを示します | 番号 |
@遺伝性の | サブクラスが親クラスの注釈を継承できることを示します | 番号 |
例:
//表示@Override这个注解只能用于方法,且在源码中有效
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}
//见上表
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})
public @interface Deprecated {
}
//见上表
@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
@Retention(RetentionPolicy.SOURCE)
public @interface SuppressWarnings {
String[] value();
}