注解(Annotation)
1.概述
Java 注解:又称 Java 标注,是 JDK5.0 引入的一种注释机制,java 语言中的类、方法、变量、参数和包等都可以被标注
可以对程序作出解释,可以被其他程序读取
用法:@注释名
2.内置注解
(1)@Override
重写的注解
当你想要重写父类的某个方法时,可以选择添加这个注解,在你不留心重载而并非重写了该方法时,编译器就会生成一条错误信息。
小技巧:在重写父类的onCreate时,在方法前面加上@Override 系统可以帮你检查方法的正确性。
(2)@Deprecated
废弃的注解,已经过时
定义在java.lang.Deprecated中, 标记过时方法。如果使用该方法,会报编译警告
(3)@SuppressWarnings
镇压警告
定义在java.lang.SuppressWarnings中,用来抑制编译时的警告信息,需要添加参数才可以使用
例如:
@SuppressWarnings(“all”)
3.元注解
作用:负责注解其他注解
(1)@Target
描述注解的使用范围,标记这个注解应该是哪种 Java 成员。
(2)@Retention
Reteniton的作用是定义被它所注解的注解保留多久,一共有三种策略,定义在RetentionPolicy枚举中
SOURCE:
被编译器忽略
CLASS:
注解将会被保留在Class文件中,但在运行时并不会被VM保留。这是默认行为,所有没有用Retention注解的注解,都会采用这种策略。
RUNTIME:
保留至运行时。所以我们可以通过反射去获取注解信息。
(3)@Document
说明该注解被包含在javadoc中
(4)@Inherited
标记这个注解是继承于哪个注解类(默认 注解并没有继承于任何子类)
即说明子类可以继承父类中的该注解
4.自定义注解
@MyAnnotation2(name="张三")
@interface MyAnnotation2{
//注解的参数:参数类型+参数名();
String name();
int age() default 0;
int id() default -1;//如果默认值为-1,代表不存在
}
注解可以显示赋值,如果没有默认值就必须要给注解赋值
如果注解只有一个,则可以省略参数名