Como instanciar uma classe através de uma String?

Tenho uma classe Cadastro_Atividades e outra Cadastro_Fornecedores, e que fazer o instanciamento dessas classes através de uma String.
Exemplo:

String classe = “Cadastro_Atividades”;

E através de classe fazer o instanciamento da Classe Cadastro_Atividades, lavando em conta que se o valor da classe fosse “Cadastro_Fornecedores” eu iria instanciar a Classe Cadastro_Fornecedores, sem precisar mudar o código, só alterando o valor da String.

Tem como fazer isso? Como posso fazer?

String classe = "Cadastro_Atividades"; Object obj = Class.forName(classe).newInstance();

E como eu faço para acessar os métodos da classe através do obj?

Aí é que tá, para ficar legal isso as classes teriam que ter uma superclasse (ou interface) em comum, assim você faria um cast direto para ela sem nem saber o que tem nesse obj…

ex.:

[code]public interface Cadastro{
public void executar();
}

public class CadastroAtividades implements Cadastro{
public void executar(){
System.out.println("Executando cadastro de atividades");
}
}

public class CadastroFornecedores implements Cadastro{
public void executar(){
System.out.println("Executando cadastro de fornecedores");
}
}
[/code]

[code]String classe = "CadastroAtividades";

Cadastro cad = (Cadastro) Class.forName(classe).newInstance();
cad.executar();[/code]

pra que você quer usar isso?

acho que o que o nosso amigo quer é isso REFLECTION

public class Coelho {
    
    public static void main(String[] args){
        try{
            String nmClasse = "TesteCoelho"; 
            String nmMetodo = "imprimeNome";
            Class [] parametros    = new Class[]{String.class};
            Object[] vlParametros  = new Object[]{"Luis Coelho"};
            Object classe          = Class.forName(nmClasse).newInstance();
            Method met             = classe.getClass().getMethod(nmMetodo,parametros);
            met.invoke(classe, vlParametros);
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}
class TesteCoelho{
    public void imprimeNome(String nome){
        System.out.println("Nome -> " + nome);
    }
}

ou valeu a todos, tando como interface e reflection funcionou!Obrigadão!!!