JAVA利用反射机制并实例化一个类的几种方法。
第一种:Class.forName("类的路径名").newInstance();
Class.forName("类的全路径").newInstance()
原理就是反射机制,通过名字找到类的映射Class,然后Class中提供了一个通过调用类的init()构造方法进行初始化类。如果类找不到会抛出ClassNotFoundException异常。
第二种:Object.class.newInstance();
第二种方式其实也是通过对象本身提供了一个可以理解为对象快照的副本,这个跟JVM类加载机制的原理有关。
第三种:Object.getClass().newInstance();
第三种方式是通过对象本身在自己的超类Object对象中提供了一个获取Class对象的方法.