Androidアノテーションの7番目のレッスン

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();
}

 

おすすめ

転載: blog.csdn.net/wishxiaozhu/article/details/114900357