1 package Reflect; 2 3 import java.lang.reflect.Constructor; 4 5 import bean.Vip; 6 7 public class ReflectTest12 { 8 9 public static void main(String[] args) throws Exception{ 10 //不使用反射机制创建对象 11 Vip v1=new Vip(); 12 Vip v2=new Vip(110,"小明","2020.12.24",true); 13 System.out.println("无参构造--不使用反射机制"+v1); 14 System.out.println("有参构造--不使用反射机制"+v2); 15 16 17 //使用反射机制创建对象 18 Class vipClass=Class.forName("bean.Vip"); 19 20 //调用无参构造方法 21 Object o1=vipClass.newInstance(); 22 System.out.println("无参构造--使用反射机制"+o1); 23 24 25 26 //调用有参构造方法 27 //1.获取到有参数的构造方法 28 Constructor con=vipClass.getDeclaredConstructor(int.class,String.class,String.class,boolean.class ); 29 30 //2.调用构造方法new对象 31 Object o2= con.newInstance(110,"Mr.zhang","1880.12.24",true); 32 System.out.println("有参构造--使用反射机制"+o2); 33 } 34 35 }
运行结果: