@Test
public void test1() throws Exception{
//类全名
String className="cn.itcast.c_reflect.Admin";
//得到类字节码
Class<?> clazz = Class.forName(className);
//创建对象
Admin admin = (Admin)clazz.newInstance();
//获取指定的构造无参的构造函数
Constructor<?> declaredConstructors = clazz.getDeclaredConstructor();
//获取指定的有参构造函数
Constructor<?> declaredConstructor = clazz.getDeclaredConstructor(String.class);
Admin admin1 = (Admin)declaredConstructor.newInstance("123");
//获取所有属性名和值
Field[] Fields = clazz.getDeclaredFields();
for(Field f:Fields)
{
//设置强制访问
f.setAccessible(true);
//名称
String name = f.getName();
//值
Object value = f.get(admin);
}
//获取方法对象 public int getId() public int getId(string id)
Method method = clazz.getDeclaredMethod("getId");
//clazz.getDeclaredMethod("getId",String.class);
//执行方法 admin对象 args方法的参数
//method.invoke(admin, args);
}
public void test1() throws Exception{
//类全名
String className="cn.itcast.c_reflect.Admin";
//得到类字节码
Class<?> clazz = Class.forName(className);
//创建对象
Admin admin = (Admin)clazz.newInstance();
//获取指定的构造无参的构造函数
Constructor<?> declaredConstructors = clazz.getDeclaredConstructor();
//获取指定的有参构造函数
Constructor<?> declaredConstructor = clazz.getDeclaredConstructor(String.class);
Admin admin1 = (Admin)declaredConstructor.newInstance("123");
//获取所有属性名和值
Field[] Fields = clazz.getDeclaredFields();
for(Field f:Fields)
{
//设置强制访问
f.setAccessible(true);
//名称
String name = f.getName();
//值
Object value = f.get(admin);
}
//获取方法对象 public int getId() public int getId(string id)
Method method = clazz.getDeclaredMethod("getId");
//clazz.getDeclaredMethod("getId",String.class);
//执行方法 admin对象 args方法的参数
//method.invoke(admin, args);
}