现在可以看出,newInstance()实际上是把new这个方式分解为两步,即首先调用Class加载方法加载某个类,然后实例化。
这样分步的好处是显而易见的。我们可以在调用class的静态加载方法forName时获得更好的灵活性,提供给了一种降耦的手段。
最后用最简单的描述来区分new关键字和newInstance()方法的区别:
newInstance:
弱类型。低效率。只能调用无参构造。
new:
强类型。相对高效。能调用任何public构造。
最后用最简单的描述来区分new关键字和newInstance()方法的区别:
newInstance:
new: