Class<>:
1.取得Class对象:public static Class<?> forName(String className)
2.取得类中的所有构造方法:public Constructor<?>[] getConstructors()
3.实例化对象的方法:public T newInstance()
4.取得继承的父类:public Class<? super T> getSuperclass()
5.取得实现的全部接口:public Class<?>[] getInterfaces()
6.取得一个类的全部方法:public Method[] getMethods()
7.取得一个类的全部属性:
得到继承而来的公告属性:|-public Field[] getFields()
得到自定义的属性: |-public Field[] getDeclaredFields()
8.取得Class对象所表示的实体的名称:public String getName()
9.获取此类的包:public Package getPackage()
Modifier:
1.还原修饰符:public static String toString(int mod)
Constructor<>:
1.取得访问修饰符:public int getModifiers()
2.取得参数的全部类型:public Class<?>[] getParameterTypes()
3.实例化指定构造类:public T newInstance(Object... initargs)
Method:
1.取得访问修饰符:public int getModifiers()
2.取得方法的返回值类型:public Class<?> getReturnType()
3.取得全部参数类型:public Class<?>[] getParameterTypes()
4.取得方法的抛出异常:public Class<?>[] getExceptionTypes()
5.调用方法:public Object invoke(Object obj,Object... args)
Field:
1.取得属性类型:public Class<?> getType().getName()
反射:
加载类
Class clz = Class.forName("包名.类名");
创建类对象
Object obj = clz.newInstance();
获取方法
Method md = obj.getClass().getMethod(方法名,参数类型1...);
调用方法
Object returnValue = md.invoke(类实例,参数1...);
09-09