第七课 Android中的注解

1、@Deprecated

表示不鼓励使用此构造函数、字段、本地变量、方法、包、参数和类等,通常因为它很危险,或者存在更好的替代方案。

2、@SuppressLint

Lint是一个静态检查器,围绕Android项目的正确性、安全性、性能、可用性以及可访问性进行分析检查,检查对象包括XML资源、位图、ProGuard配置文件、源文件甚至编译后的字节码。

针对这个检查器,可以使用@SuppressLint标注忽略指定的警告。

3、@Override

表示当前方法的定义将覆盖超类中的方法

4、注解的注解

元注解 说明 取值
@Target 表示该注解可以用在什么地方 ElementType.ANNOTATION_TYPE 可以应用于注释类型。
ElementType.CONSTRUCTOR 可以应用于构造函数。
ElementType.FIELD 可以应用于字段或属性。ElementType.LOCAL_VARIABLE 可以应用于局部变量。
ElementType.METHOD 可以应用于方法级注释。
ElementType.PACKAGE 可以应用于包声明。
ElementType.PARAMETER 可以应用于方法的参数。ElementType.TYPE 可以应用于类的任何元素。
@Retention 表示需要在什么级别保存该注解信息 1.SOURCE:在源文件中有效(即源文件保留)
2.CLASS:在class文件中有效(即class保留)
3.RUNTIME:在运行时有效(即运行时保留)
@Documented 表示将此注解包含在Javadoc中
@Inherited 表示允许子类继承父类中的注解

示例:

//表示@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