//1.源头:获取Class对象,用三种方式
Phone iPhone=new Phone();
//1.1.对象.getClass();获取对象
Class<?> clazz1 = iPhone.getClass();
//1.2.类.class
clazz1=Phone.class;
//1.3.Class.forName("包名.类名");
clazz1 = Class.forName("test.Phone");
//2.创建对象
//2.1通过newInstence(),此方式只适用于无参构造
Phone instance1 = (Phone) clazz1.newInstance();
//2.2先调用构造器,再通过newInstence()创建
Constructor<?>[] cons = clazz1.getConstructor();
//假设第一个为无参构造
Phone instance2 = cons[0].newInstance();
//假设第二个构造方法为两个String类型参数
Phone instance3= cons[1].newInstance("s1","s2");
java反射创建class对象和实例对象
最新推荐文章于 2023-10-09 09:03:01 发布