1.Class.forName("xxx").newInstance();forName方法会调用类加载器,加载xxx类,newInstance方法在默认构造函数中创建了一个对象
Class.forName(getClassFromXmlFile()) //消灭了XXX类,只要继承XXX的兄弟类,都可以使用,常适用于java的工厂模式
2.A a = new A();只有实例化对象时才会由类加载器加载A类
3. Class.forName("xxx")只是加载类,不实例化对象,降低了耦合度
4.new A()只能实现具体类实例化,不能实现接口编程,而Class.forName(getClassFromXmlFile()).newInstance()能实现接口编程
5.newInstance()弱类型,低效率(在默认构造函数中创建了一个对象),只能调用默认构造函数;new A()强类型,高效率,能调用public构造函数