1 .什么是注解(Annotation)
注解和注释有很多相似之处,都是用来解释程序的,但是注解有很多高于注释的功能。
注释是给人来看的,注解可以被其他程序(比如:编辑器)读取。
注解以@注释名 在代码中存在
2.内置注解
@Override :在覆盖类前面使用,加上之后必须去重写父类的方法,不然就会报错。
@Deprecated:不推荐程序员去使用这些元素,但是是可以使用,比如这个注解这个方法有bug(了解)
@SuppressWarnings(“参数”):镇压警告。(不建议镇压警告)
3.元注解
负责注解其它注解 java定义了4个meta-annotation类
@Target 描述注解适用范围(参数就是使用的范围,源码有枚举说明)
@Retention 描述注解的生命周期 runtime>class>sources
@Documented 表示是否将注解生成在javadoc中
@Inherited 表示子类可以继承父类
4.自定义注解
使用@interface自定义注解 格式@interface 注解名 {}
其中每个方法用来声明一个配置 参数注解的参数 (看起来像类方法) eg: 类型+参数名();
方法名称就是参数名称
可以用default定义默认值
返回值类型就是参数的类型,只能是基本类型,class,String,enum
只有一个参数成员,一般名字为value(用注解给参数时可以省略value=“”)
注解元素必须要有值,定义注解元素的时候,用空字符串或者0作为默认值(如果没有默认值用到注解时一定给值)
Annotation 可以通过反射机制实现对元数据的访问