newInstance() utiliza el mecanismo de carga de clases y new crea una nueva clase.
Desde la perspectiva de JVM, cuando se utiliza new para crear una clase, es posible que la clase no se cargue. Pero cuando utilice el método newInstance(), debe asegurarse de que la clase esté cargada y conectada.
Copie el código de código de la siguiente manera:
Cadena className="prueba";
Clase c=Class.forName(className);
fábrica=(ExampleInterface)c.newInstance();
newInstance():si tipo. Ineficiente, solo se puede llamar al constructor sin argumentos, adecuado para el modo de fábrica;
nuevo: tipo fuerte. Relativamente eficiente. Puede llamar a cualquier constructor público.