本教程操作环境:windows7系统、java10版,DELL G3电脑。
1、用Class对象的newInstance()方法制作对象
(1)获得类Class对象。
(2)通过调用获得的Class对象的newInstance()获得对象,该方法将返回Object类型的对象,因此需要强制旋转
2、通过Constructor类newInstance()获得
(1)获得一种Class实例
(2)调用Class中的getConstructor()方法获得Constructor对象
(3)调用Constructor的newInstance()方法获得类的实例
3、实例
Class clazz=Dog.class; Constructor constructor=clazz.getConstructor(String.class,int.class}); Dog dog=(Dog) constructor.newInstance("xiaohei",3}); System.out.println(dog.name+" "+dog.age);
程序的第二行我们调用Class对象的getConstructor方法,然后在参数列表中传入String和int,因为我们的有参构造函数的参数列表就是这样规定的,现在我们就获取到了前边定义好的Dog类的有参构造函数了。
第三行我们通过获取的Constructor对象调用newInstance方法,然后在方法中传入Object类型的参数列表,因为我们的有参构造函数需要这些值,这样就可以通过反射的方式创建只有有参构造函数的对象了。
以上就是java反射创建对象的介绍,两种方法都可以达到实现对象创建的目的,大家学会后赶快动手试试吧。更多Java学习指路:Java基础