注解

注解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();
}

菜鸟教程注解

https://www.runoob.com/w3cnote/java-annotation.html