获取成员变量并调用:
Field[] getFields(): 获取所有的"公有字段"
Field[] getDeclaredFields(): 获取所有字段
public Field getField(String fieldName): 获取某个"公有的"字段;
public Field getDeclaredField(String fieldName):获取某个字段(可以是私有的)
设置字段的值:
Field --> public void set(Object obj,Object value):
参数说明:
1.obj:要设置的字段所在的对象;
2.value:要为字段设置的值;
获取构造方法:
public Constructor[] getConstructors(): 所有"公有的"构造方法
public Constructor[] getDeclaredConstructors():获取所有的构造方法(包括私有、受保护、默认、公有)
public Constructor getConstructor(Class... parameterTypes):获取单个的"公有的"构造方法:
public Constructor getDeclaredConstructor(Class... parameterTypes):获取"某个构造方法"可以是私有的,或受保护、默认、公有;
调用构造方法:
Constructor-->newInstance(Object... initargs)
获取成员方法并调用:
public Method[] getMethods(): 获取所有"公有方法";(包含了父类的方法也包含Object类)
public Method[] getDeclaredMethods(): 获取所有的成员方法,包括私有的(不包括继承的)
public Method getMethod(String name,Class<?>... parameterTypes):
参数:name : 方法名;Class ... : 形参的Class类型对象
public Method getDeclaredMethod(String name,Class<?>... parameterTypes)
调用方法:
Method --> public Object invoke(Object obj,Object... args):
参数说明:
obj : 要调用方法的对象;
args:调用方式时所传递的实参;