newInstance() usa o mecanismo de carregamento de classe e new cria uma nova classe.
Do ponto de vista da JVM, ao usar new para criar uma classe, a classe pode não ser carregada. Mas ao usar o método newInstance(), você deve garantir que a classe esteja carregada e conectada.
Copie o código do código da seguinte forma:
String nomedaclasse="teste";
Classe c=Class.forName(className);
fábrica=(ExampleInterface)c.newInstance();
newInstance():se tipo. Ineficiente, apenas o construtor sem argumentos pode ser chamado, adequado para modo de fábrica;
novo: tipo forte. Relativamente eficiente. Pode chamar qualquer construtor público