优先使用Constructor.newInstance()来实例化对象,因为
Class.newInstance()只能够调用无参构造函数,而Constructor.newInstance()可以调用任意构造函数(只要参数对的上)。Class.newInstance()会直接抛出构造器的任意exception(包括checked和unchecked),而Constructor.newInstance()会将exception包装到InvocationTargetException。Class.newInstance()要求构造函数可见(visible),而Constructor.newInstance()可以调用private的构造函数。
本文对比分析了Class.newInstance()和Constructor.newInstance()两种实例化对象的方法。详细解释了两者在调用构造函数、处理异常及权限上的区别,指出Constructor.newInstance()具有更广泛的适用性和灵活性。
1279

被折叠的 条评论
为什么被折叠?



