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



