内置注解
-
@Override 重写的注解
-
@Deprecated 一般不推荐程序员使用,但是可以使用,或者拥有更好的替代
-
@SuppressWarnings(value = {xxx}) 镇压警告,可以放在方法上、类上、字段上、构造器上
自定义注解
import java.lang.annotation.*;
public class Test02 {
@MyAnnotation
public void test(){}
}
@Target(value = {ElementType.METHOD,ElementType.TYPE})
@Retention(value = RetentionPolicy.SOURCE)
@Documented
@Inherited
@interface MyAnnotation{
}
带参数的自定义注解
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
public class Test03 {
@MyAnnotation2(age = 18,name = "O(∩_∩)O")
public void test(){}
@MyAnnotation3("(。・∀・)ノ゙")
public void test02(){}
}
@Target({ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation2{
String name() default "";
int age() default 0;
int id() default -1;
String[] schools() default {"西部开源","清华大学"};
}
@Target({ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation3{
String value();
}