注解(Annotation )
A.定义:从JDK5开始,Java增加对元数据的支持,也就是注解,注解与注释是有一定区别的,可以把注解理解为代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过注解开发人员可以在不改变原有代码和逻辑的情况下在源代码中嵌入补充信息。
注解分为内置注解,元注解,和自定义注解。
内置注解
1.@Override :声明这个方法是重写超类中的方法
package Annotaions;
public class sss extends XXX {
public static void main(String[] args) {
}
//当sss重写XXX中的方式时 会出现@Override注解 这个注解的意思就是声明这个方法是重写超类中的方法
@Override
public void XXX() {
super.XXX();
}
}
2.@Deprecated:可以修饰方法,属性,类。声明这些元素不鼓励程序员们使用 意味着已经过时的元素。
package Annotaions;
public class XXX {
@Deprecated
public void XXX(){
}
}
当你用到被@Deprecated修饰 XXX的构造方法时 会发现出现一个横杠在方法名上
package Annotaions;
public class sss extends XXX {
public static void main(String[] args) {
}
//当sss重写XXX中的方式时 会出现@Override注解 这个注解的意思就是声明这个方法是重写超类中的方法
@Override
public void XXX() {
super.XXX();
}
}
3@SuppressWarnings:用来抑制警告信息 这个注释需要添加参数。
元注解
作用:用来注解其他注解(在我看来是用来自定义注解的注解)
JAVA里的四个元注解
1.@Target:用来描述注解的适用范围
2.@Retention:表示需要 该注解保存在什么级别,用于描述注解的生命周期
3.@Document:说明该注解将被包含在javadoc中
4.@Inherited:说明子类可以继承父类中的该注解
了解完元注解我们就可以来自定义一个注解
自定义注解
需知道:使用 @interface自定义注解时 , 自动继承了java.lang.annotation.Annotation接口
package Annotaions;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.METHOD;
public class XXX {
@MMMM(age = 1, name ="Eee" )
public static void main(String[] args) {
}
}
@Target(ElementType.METHOD)
@Retention(value = RetentionPolicy.RUNTIME)
@interface MMMM {
int age();
String name ();
}
看代码 可以知道我们定义的注解 作于于方法 保存在运行期 有两个参数 age 和name