yuediaoyuan0809 发表于 2013-2-3 14:35:35

java反射机制

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class Admin {
public Admin(){

}
private String id = "";

public String getId() {
System.out.print(id);
return id;
}
public void setId(String id) {
this.id = id;
}

public static void main(String[] args)
throws ClassNotFoundException, InstantiationException, IllegalAccessException,
SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException {

String str="com.spring.event.Admin";
Class c=Class.forName(str);
Object obj=c.newInstance();

//      这里是里设置属性的值
Method m = c.getMethod("setId",new Class[]{Class.forName("java.lang.String")});
m.invoke(obj,new Object[]{"penghao122"});

//      这里是里获取属性的值
    m = c.getMethod("getId",new Class[]{});
m.invoke(obj,new Object []{});
   

   
}

}

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class Admin {
public Admin(){

}
private String id = "";

public String getId() {
System.out.print(id);
return id;
}
public void setId(String id) {
this.id = id;
}

public static void main(String[] args)
throws ClassNotFoundException, InstantiationException, IllegalAccessException,
SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException {

String str="com.spring.event.Admin";
Class c=Class.forName(str);
Object obj=c.newInstance();

//      这里是里设置属性的值
Method m = c.getMethod("setId",new Class[]{Class.forName("java.lang.String")});
m.invoke(obj,new Object[]{"penghao122"});

//      这里是里获取属性的值
    m = c.getMethod("getId",new Class[]{});
m.invoke(obj,new Object []{});
   

   
}

}

这个是反射的经典例子。
页: [1]
查看完整版本: java反射机制