Properties properties=new Properties();
BufferedReader read=new BufferedReader(new FileReader("class.txt"));
properties.load(read);
String className = properties.getProperty("className");
String method = properties.getProperty("method");
System.out.println("-------获取类对象文件--------");
Class c = Class.forName(className);
System.out.println(c);
System.out.println("-------获取构造方法--------");
Constructor con = c.getDeclaredConstructor();
System.out.println(con);
System.out.println("-------获取成员方法--------");
Method method5 = c.getMethod("method5", String.class);
System.out.println(method5);
System.out.println("-------实例化对象--------");
Object obj = con.newInstance();
System.out.println(obj);
System.out.println("-------执行方法--------");
Object invoke = method5.invoke(obj, "你好");
System.out.println("-------方法返回值--------");
System.out.println(invoke);
输出:
-------获取类对象文件--------
class cn.User
-------获取构造方法--------
public cn.User()
-------获取成员方法--------
public java.lang.String cn.User.method5(java.lang.String)
-------实例化对象--------
Person [name=null, id=0, password=null]
-------执行方法--------
show5:你好
-------方法返回值--------
你好
class.txt
className=cn.User
methodName=method5
User
public class User {
private String name;
int id;
public String password;
public User() {
}
private User(String name) {
this.name = name;
}
User(String name, int id) {
this.name = name;
this.id = id;
}
public User(String name, int id, String password) {
this.name = name;
this.id = id;
this.password = password;
}
public void method(String s) {
System.out.println("method ");
}
public void method2(String s) {
System.out.println("method2");
}
private void method3() {
System.out.println("method3");
}
public void method4() {
System.out.println("show4");
}
public String method5(String s) {
System.out.println("show5:"+s);
return s;
}
@Override
public String toString() {
return "Person [name=" + name + ", id=" + id + ", password=" + password
+ "]";
}
}