java反射
定义:JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。
例子一:用反射修改类属性和调用类方法
public static void main(String[] args) {
//用反射修改name属性
Dog d=new Dog();
Class cla=d.getClass();
Field[] declaredFields = cla.getDeclaredFields();
for (int i = 0; i < declaredFields.length; i++) {
Field fs=declaredFields[i];
System.out.println(fs.getName());
if(fs.getName().equals("name")) {
//获取修改属性方法名
String set="set"+fs.getName().substring(0, 1).toUpperCase()+fs.getName().substring(1);
try {
Method ms=cla.getDeclaredMethod(set,fs.getType());//获取方法
ms.invoke(d, "wangwu"); //调用set修改器方法
} catch (Exception e) {
e.printStackTrace();
}
}
System.out.println(d.getName());
}
浙公网安备 33010602011771号