import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.sql.Date;
public class DemoThree {
public static void main(String[] args) throws NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
//获取Date对应的Class对象
Class cla = Date.class;
//获取Date中带一个长整形参数的构造方法
Constructor cu = cla.getConstructor(long.class);
//调用Constructor的newInstance()方法创建对象
Date d = (Date)cu.newInstance(1987);
System.out.println(d.toString());
}
import java.lang.reflect.InvocationTargetException;
import java.sql.Date;
public class DemoThree {
public static void main(String[] args) throws NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
//获取Date对应的Class对象
Class cla = Date.class;
//获取Date中带一个长整形参数的构造方法
Constructor cu = cla.getConstructor(long.class);
//调用Constructor的newInstance()方法创建对象
Date d = (Date)cu.newInstance(1987);
System.out.println(d.toString());
}
}
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class DemoFour {
public static void main(String[] args) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
//获取Address对应的Class对象
Class cla = Address.class;
//创建Person对象
Address a = new Address();
//得到setCity方法
Method met1 = cla.getMethod("setCity",String.class);
//调用setCity,为city赋值
met1.invoke(a,"香港");
//得到getCity方法
Method met = cla.getMethod("getCity",null);
//调用getCity,获取city值
Object o = met.invoke(a,null);
System.out.println(o);
}
}