注解Annotation
注释是给人看的,让你知道这是干嘛的。注解是给程序来看,让程序知道他在干嘛(给程序做解释)
可以被程序读写(最特殊的地方)
@Override 重写注解
@注解名
通过反射可以对元注解访问
内置注解
@Override 重写注解 这样一定要重写父类
@Deprecated 废弃的,不建议使用的,但是也可以用,他有更好的替代品
@SuppressWarning("参数") 就像哪些未被使用的可能会变黄,警告,这个可以直接镇压它的警告
//但是一般警告会帮助你编程,除非你真的看的难受,不然别镇压
元注解
负责注解其他注解
@Target(value={ElementType.METHOD,这里有很多级别})指可以应用在那些地方,不是随便能用的。
@Retention(value= {RententionPolicy.SOURCE}) 什么时候有效,源码有效,运行时有效 是枚举类型(SOURCE<CLASS<RUNTIME)他们之间是包含关系
@Inherited ,可以被子注解继承
@Docunment 这个注解会被包含在javadoc中
自定义注解
public @interface Override{//一个类只能有一个public类
}
public class TestAnnotation01 {
@Annotation01 (name = "JHJ",schools = {"安徽建筑大学"})//注解参数没有顺序,它会认得
public void say(){
}
}
@Target ({ElementType.METHOD,ElementType.FIELD,ElementType.ANNOTATION_TYPE})
@Retention (RetentionPolicy.RUNTIME)
@interface Annotation01{
//注解可以有参数
String name();
int age() default 18;
int id() default 2014;
String[] schools();
}