内置注解
- @Override 重写的注解
- @Deprecated 一般不推荐程序员使用,但是可以使用,或者拥有更好的替代
- @SuppressWarnings(value = {xxx}) 镇压警告,可以放在方法上、类上、字段上、构造器上
自定义注解
package com.kaung.annotation;
import java.lang.annotation.*;
public class Test02 {
@MyAnnotation
public void test(){}
}
//定义一个注解
//@Target 注解的作用域
//ElementType.METHOD 表示可以在方法上有效放在其他地方就无效
//ElementType.TYPE 表示可以在类上有效,但在其他地方无效
@Target(value = {ElementType.METHOD,ElementType.TYPE})
//Retention 表示注解的有效期
//RetentionPolicy.RUNTIME 表示该注解在运行时之前都效果
//RetentionPolicy.CLASS 表示该注解在编译为class文件之前都有效
//RetentionPolicy.SOURCE 表示该注解在源码的时候才有效果,即未编译前
//有效期Runtime>Class>Source
@Retention(value = RetentionPolicy.SOURCE)
//Documented 表示将注解生成到Javadoc(java文档)里面
@Documented
//Inherited 表示子类可以继承父类的注解
@Inherited
@interface MyAnnotation{
}