3 classes são necessárias:
Interface
public interface ITeste {
public void test();
public String toString();
}
Classe que será criada atraves de um string
class Teste implements ITeste {
public Teste() {
System.out.println("criou o objeto");
}
public void test() {
System.out.println("testou o objeto");
}
public String toString() {
return "esse eh o toString";
}
}
Acessar via string (usando a interface)
class TestePrincipal {
public static void main(String args[]) {
try {
// associa a forName a um Class
Class c = Class.forName("Teste");
// instancia através da interface
ITeste tb = (ITeste) c.newInstance();
// chama os métodos da class
tb.test();
System.out.println(tb);
} catch (ClassNotFoundException e) {
System.out.println("Classe nao encontrada:" + e);
} catch (InstantiationException e) {
System.out.println("Erro ao instanciar:" + e);
} catch (IllegalAccessException e) {
System.out.println("Acesso ilegal:" + e);
}
}