1反射
1.1访问构造方法
通过Jave反射机制,可以在程序中访问已经装载到JVM中的Java对象的描述,实现访和修改描述Jave对象本身信息的功能。Java 反射机制的功能十分强大,在java.langreflect包对该功能的支持。
在通过下列一组方法访问构造方法时,将返回 Constructor 类型的对象或数组。每个Constuetor对代表一个构造方法,利用 Constructor 对象可以操纵相应的构造方法;
当反射无参构造方法时将输出所有属性的默认值;当反射有参数的构造方法时将输方法赋予的相应值。
2.访问成员变量
在通过下列一组方法访问成员变量时,将返回Field类型的对象或数组。每个Field对象代表一个成员变量,利用Field对象可以操纵相应的成员变量:
getFields()
getField(String name)
getDeclaredFields()
getDeclaredFields(String name)
3.访问成员方法
在通过下列一组方法访问成员方法时,将返回Method类型的对象或数组。每个Method对象代表一个方法,利用Method对象可以操作对应的方法:
getMethods()
getMethods(String name,Class<?>...parameterTypes)
getDeclaredMethods()
getDeclaredMethods(String name,Class<?>...parameterTypes)
定义Annotation类型
在定义Annotation类型时,也需要用到用来定义接口的interface关键字,但需要在interface关键字前加一个“@”符号,即定义Annotation类型的关键字为@Annotation,这个关键字的隐含意思是继承了java.lang.annotation.Annotation接口。
public @Interface NoMemberAnnotation{
}
public @Interface NoMemberAnnotation{
String value();
}
public @Interface NoMemberAnnotation{
String describe();
Class type();
}
public @Interface NoMemberAnnotation{
String describe() default"<默认值>";
Class type() default void.class;
}