import java.lang.reflect.Constructor;
/*
使用反射机制创建对象
*/
public class ReflectNew {
public static void main(String[] args) throws Exception{
Class c = Class.forName("com.Vip");
// 调用无参构造方法,第13行代码和第14-15行代码功能相同。
// Object noObj = c.newInstance();
Constructor noC = c.getDeclaredConstructor();
Object noObj = noC.newInstance();
System.out.println(noObj);
// 调用有参构造方法,先获取到这个有参构造方法,再传参数new对象。
Constructor haveC = c.getDeclaredConstructor(int.class, String.class, String.class, boolean.class);
Object haveObj = haveC.newInstance(001, "zhangsan", "2000-1-1", true);
System.out.println(haveObj);
}
}
class Vip {
int no;
String name;
String birth;
boolean sex;
public Vip() {
}
public Vip(int no, String name, String birth, boolean sex) {
this.no = no;
this.name = name;
this.birth = birth;
this.sex = sex;
}
@Override
public String toString() {
return "Vip{" +
"no=" + no +
", name='" + name + '\'' +
", birth='" + birth + '\'' +
", sex=" + sex +
'}';
}
}
javase:反射对象
最新推荐文章于 2024-07-22 14:15:06 发布