package 反射;
import 反射.pojo.User;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class 动态的创建对象通过反射 {
public static void main(String[] args) throws Exception {
Class c1 =Class.forName("反射.pojo.User");
User user = (User) c1.newInstance();
System.out.println(user);
Constructor constructor = c1.getDeclaredConstructor(String.class, String.class, int.class);
User user2 = (User) constructor.newInstance("哈哈哈", "1234", 140);
System.out.println(user2);
User user3=(User) c1.newInstance();
Method setName = c1.getDeclaredMethod("setName", String.class);
setName.invoke(user3,"tinumb");
System.out.println(user3);
User user4 =new User ();
Field name = c1.getDeclaredField("name");
name.setAccessible(true);
name.set(user4,"小雨伞");
System.out.println(user4);
}
}