primeiro que tudo bem obrigado pela ajuda de voces
estou apanhando muito. mas faz parte… rs
problema:
tenha uma String c que e o nome de uma class
como fazer para executar esta classe com o nome que esta na String c
primeiro que tudo bem obrigado pela ajuda de voces
estou apanhando muito. mas faz parte… rs
problema:
tenha uma String c que e o nome de uma class
como fazer para executar esta classe com o nome que esta na String c
Não entendi muito bem, mas acho q é isso.
Object obj = Class.forName(c).newInstance();
avsousa, e o seguinte:
eu tenho um menu de aplicacoes
e todas as aplicacoes tem um metodo executa
na realidade eu quero que quando o usuario
clicar na opcao desejada execute uma das classes
existentes
como cada aplicacao e uma classe
eu executaria a classe conforme a opcao selecionada
apenas chamando o metodo executa
a unica diferenca e o nome da classe
como a opcao eu tenho uma string
pega pelo name do menu
bastava eu chamar
a classe usando esta string
jonasjgs2, o que o avsouza postou parece resolver o teu problema. Usando:
Object obj = Class.forName(nomeDaClasse).newInstance();
Você obtem o objeto necessário. Basta invocar o método executar() neste objeto. Sugiro que crie uma interface para estas classes. Algo assim:
interface Executavel {
void executar();
}
Depois de instanciar você faz cast e chama o método necessário:
Executavel executavel = (Executavel) Class.forName(nomeDaClasse).newInstance();
executavel.executar();
cara eu nao como eu posso chamar os metodos
da
class
ex:
fiz o teste
obj. e nao apareceu um metodo que eu tinha
criado em uma classe
Ja que o modo como foi falado não “resolve”, vc pode fazer o seguinte:
ja que cada aplicação é uma classe, pegue sua String e rode pelo
Runtime.getRuntime().exec("cmd.exe /C java " + c);
acho q resolve.
avsousa, a classe executa porque tem um construtor
nela
String NomeDaClasse = “ClasseExemplo”;
Object obj = Class.forName(nomeDaClasse).newInstance();
mas eu queria que houvesse um geito de
executar um metodo da classe:
ex: obj.getString()
entendeu?
na realidade
String NomeDaClasse = "ClasseExemplo";
Object obj = Class.forName(nomeDaClasse).newInstance();
ClasseExemplo classeExemplo = (ClasseExemplo) obj;
classeExemplo.metodoQvcQuerExecutar();
Bom seria vc seguir a sugestão do wagnerfrancisco
String s = “teste2”;
Object obj = Class.forName(s).newInstance();
String a;
a = (String) obj.getClass().getMethod(“getNome”).invoke(obj);
System.out.println(a);
gente e assim que funciona
na minha classe eu tenho um metodo chamdado getNome
e funcionou