通过Class类中的newInstance()和获取getConstructor()有什么区别?(反射)

通过反射操作构造方法创建对象:

步骤:

1.获得Class对象

2获得构造

3.通过构造对象获得实例化对象

问题: 直接通过Class类中的newInstance()和获取getConstructor()有什么区别?

newInstance()方法, 只能通过空参的构造方法创建对象

getConstructor(Class<T>… parameterTypes)方法, 方法接受一个可变参数, 可以根据传入的类型来匹配对应的构造方法

         总结

                   Constructor<?>[] getConstructors()
                   Constructor<T> getConstructor(Class<?>... parameterTypes) 
            
                     方法1: 获取该类中所有的构造方法, 返回的是一个数组
                     方法2: 方法接受一个可变参数, 可以根据传入的类型, 来匹配对应的构造方法

猜你喜欢

转载自blog.csdn.net/Deltao_Taic/article/details/81386798