Day14
注解和反射
注解
注释是给人看的,注解不仅给人看还给程序来看
Annotation 可以被其他程序读取
重写的注解 Override
格式就是@ +注释名 在代码中很常见
注解能在很多地方使用 ,比如包 类 方法 通过反射机制来对元数据进行访问
内置注解
@Override 定义在java.lang.Override 方法声明表示打算重写父类的方法。
@SuppressWarnings 用来抑制编译的警告问题 这个需要添加一个参数才能进行。
元注解
作用就是负责注解其他注解,java定义了四个标准的meta-annotation类,用来提供对其他annotation类的解释说明。
@Target @Retention @Documented @Inherited
Target 用来描述注解的使用范围
Retention 表示用什么级别保存该注释信息,用于描述注解的生命周期 (SOURCE<ClASS<RUNTIME)
Documented 表示该注解会被包含在Javadoc里面
Inherited 说明子类可以继承父类的该注解。
正常是选择运行是有效,所以就是RetentionPolicy.RUNTIME
自定义注解
使用@interface来定义
@Target({
ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface myannotation{
//注解的参数,由参数类型+参数名字+() 在使用该注解时就需要加参数 也可以用default来设置默认值
String name() default " ";
int age() default -1