1:反射
百度百科:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。
自见:有.Class转为.Java 六种获取类的方法 属性 方法
2:简单操作
package com.zking.clas;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class Persons{
public static void main(String[] args) throws Exception{
Class c= Class.forName("com.zking.clas.res");
Field[] f= c.getDeclaredFields();
for (Field field : f) {
System.out.println(field);
}
Method[] m= c.getDeclaredMethods();
for (Method method : m) {
System.out.println(method);
}
Class c1= c.getSuperclass();
System.out.println(c1);
Class[] c2=c.getInterfaces();
for (Class class1 : c2) {
System.out.println(class1);
}
Object obj=c.newInstance();
Method m1= c.getMethod("m1", null);
m1.invoke(obj, null);
Method m2= c.getMethod("m2", Integer.class,String.class,String.class);
m2.invoke(obj, 1,"哈哈","哈啊哈");
Method m3= c.getMethod("m3", null);
System.out.println(m3.invoke(obj, null));
Method m4= c.getMethod("m4", Integer.class,String.class,String.class);
System.out.println(m4.invoke(obj, 1,"哈哈","哈啊哈"));
}
}