注解——检查约束
可以对程序作出解释,可以被编译器读取
以@+注释名存在于代码
内置注解:
@Override——重写
@Deprecated——表示不推荐使用,但是可以使用
@SuppressWarnings("All")——镇压全部警告
元注解
@Target 描述注解的使用范围
ElementType——
TYPE,
FIELD,
METHOD,
PARAMETER,
CONSTRUCTOR,
LOCAL_VARIABLE,
ANNOTATION_TYPE,
PACKAGE,
TYPE_PARAMETER,
TYPE_USE,
MODULE,
RECORD_COMPONENT;
@Retention 表示需要在什么级别保存该注释信息,描述注解的生命周期——(源代码)SOURCE<(在class)CLASS<RUNTIME
//表示在什么时候有效
RetentionPolicy——
SOURCE,源码——即后缀名为java时
CLASS,编译为class后
RUNTIME运行时
@Document 表示是否将注解生成到javadoc中
自定义注解
@interface自定义
eg:
@interfact 注解名{ 内容(参数:参数类型 参数名() [默认值default ""];) }
返回值类型就是参数的类型
//定义一个注解
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@interface IntFace{
String name() default "小宇";
String[] schools();
}
//使用上述注解的方法
@IntFace(name = "大宇",schools = {"山西工学院","清北"})
public void testIntFace(){
}
//只有一个参数,建议使用value
@interface OneValue{
String value();
}
//使用上述注解的方法
@OneValue("大宇")
public void oneValue(){
}
b站狂神笔记^1