1.内置注解
内置注解有三个,分别为:
@Override,@Deprecated,@SuppressWarnings。
具体功能如代码中注释所示:
public class AnnotationTest {
//重写注解
@Override
public String toString() {
return super.toString();
}
//方法过期注解,不推荐使用
@Deprecated
public static void test1() {
System.out.println("Deprecated");
}
//镇压警告
@SuppressWarnings("all")
public static void test2() {
int[] arr = new int[5];
}
public static void main(String[] args) {
//过期方法会用横线划出
test1();
}
}
2.元注解
元注解有四个,分别为:
@Target,@Retention,@Documented,@Inherited
具体功能如代码中注释所示:
import java.lang.annotation.*;
public class MetaAnnotationTest {
}
//定义一个注解
//Target表示注解可以用在哪些地方
@Target(value = {ElementType.METHOD, ElementType.TYPE})
//Retention表示注解在哪个地方还有效
//runtime>class>sources
@Retention(value = RetentionPolicy.RUNTIME)
//表示是否将注释生成在文档中
@Documented
//子类可以继承父类的注解
@Inherited
@interface MyAnnotation1 {
}
3.自定义注解
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
public class CustomAnnotationTest {
@MyAnnotation2("hello")
public void test() {
}
}
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(value = RetentionPolicy.RUNTIME)
@SuppressWarnings("all")
@interface MyAnnotation2 {
String value();
}