Como instanciar uma classe em tempo de execução?

Pessoal como faço pra instanciar uma classe em tempo de execução sem conhecer o tipo?

Imaginem hipoteticamente que eu tenha um método que recebe duas Strings:

...

public Object chamaMetodoDesconhecido(String classe, String metodo){
  
      classe x = new classe();
      Object o = x.metodo();
      return o;
}
...

Vejam que eu não sei quem é a “classe” e nem o “metodo” a ser chamado, tudo será recebido por parâmetro, tem como eu fazer isso?

http://java.sun.com/docs/books/tutorial/reflect/index.html

Artigo do GUJ: http://www.guj.com.br/article.show.logic?id=10

Mas, basicamente:

String classname = "guj.MinhaClasse"; Object o = Class.forName( classname ).newInstance();

Como invocar o método dinamicamente eu não lembro, mas no artigo explica.

public Object invokeMethod(String classe, String metodo){
Class<?> clazz = Class.forName(classe);
Method m = clazz.getDeclaredMethod(metodo);
Object obj = clazz.newInstance();
return m.invoke(obj);
}

valeu muito pessoal era o que eu precisava grato a todos.