内置注解
@Override 重写注解 修饰的方法必须是重写父类的方法
@Deprecated 修饰过期不建议使用的方法(方法名会出现中划线)
@SupperssWarnings 用来压制编译时的警告信息(可以去掉警告)
源注解
@Target 指定注解使用的范围
@Retention 注解的生命周期 SOURCE在源文件中有效 CLASS在类中有效 RUNTINE在运行时有效
注解的语法:
public @interface 名字{
String a() default""/*默认值*/;
}
解析注解
//获取类的所有有效注解
Class clazz=Class.forName("地址");
Annotation[] annotation= clazz.getAnnotation()
//获取指定注解
SxtTable st=(SxtTable) clazz.getAnnotation(SxtTable.class)
//获取类的属性注解
Filed f=clazz.getDeclaredField("Name");
Sxtpojo sp=f.getAnnotation("Sxtpojo.class")
//获取注解对应的属性值
sp.Name;//Name为你要获取的键名
clazz.getFields()//只能获取public的field
clazz.getDeclaredFields() 获取所有的field
clazz.getDeclaredmethod("",String.class)获取方法
clazz.getDeclaredConstructors() 获取构造器
parameterizedType 表示一种参数化的类型,比如List<String>