instanciar uma classe passando como referência o nome dela!
Há alguma forma de instanciar classes passando o nome da classe por parâmetro???
vcs podem achar que estou maluco mas eu realmente preciso disso!!
tipo , queria chegar a um resultado assim:
:arrow: :arrow: :arrow:
InstanciaClasse(String nomeDaClasse)
{
nomeDaClasse instancia = new nomeDaClasse();
}
Carlos Barretto
Curtidas 0
Respostas
Carlos Barretto
09/04/2009
[quote="carlosbarretto"]Há alguma forma de instanciar classes passando o nome da classe por parâmetro???
vcs podem achar que estou maluco mas eu realmente preciso disso!!
tipo , queria chegar a um resultado assim:
:arrow: :arrow: :arrow:
InstanciaClasse(String nomeDaClasse)
{
nomeDaClasse instancia = new nomeDaClasse();
}
Object o = Class.forName("pacote.pacote1.nomeDaClasse").newIstance();GOSTEI 0
Bruno Borges
09/04/2009
[quote="volnei"]
Porém a classe deve implementar um construtor default (sem argumentos).
:!:
nao necessariamente... :)
reflection r0x
Object o = Class.forName("pacote.pacote1.nomeDaClasse").newIstance();GOSTEI 0
Bruno Borges
09/04/2009
[quote="miojo"][quote="volnei"]
Porém a classe deve implementar um construtor default (sem argumentos).
:!:
nao necessariamente... :)
reflection r0xObject o = Class.forName("pacote.pacote1.nomeDaClasse").newIstance();GOSTEI 0
Carlos Barretto
09/04/2009
certo, e como acesso os atributos deste objeto depois??
GOSTEI 0
Carlos Barretto
09/04/2009
Bom aí acho melhor você dar uma olhadinha na API Reflection.. :!:
GOSTEI 0
Carlos Barretto
09/04/2009
[quote="volnei"]
mas neste caso o Object "o" não recebe a instancia????
Object o = Class.forName("pacote.pacote1.nomeDaClasse").newIstance();GOSTEI 0
Asdfasdfa
09/04/2009
Tutoriais.......
[url=http://www.javafree.com.br/forum/viewtopic.php?t=1393]Reflections em Java[/url]
[url=http://www.javafree.com.br/forum/viewtopic.php?t=1394]Reflections em Java 2[/url]
Reflection r0x :o :o :o
[]'s
GOSTEI 0
Lucas Teixeira
09/04/2009
Volnei...
acho que ele queria criar nao um objeto de uma determinada classe.... e sim a referencia...
tipo assim
acho que eh isso... q ele queria definir o nome da referencia, e nao do objeto..
:/
public void passaReferencia(String str) {
String 'str' = new String("lucas");
}GOSTEI 0
Carlos Barretto
09/04/2009
vou explica melhor!
tenho uma classe Despesa que precisa instanciar Compra
e
tenho uma classe Aluno que precisa instanciar Endereco
mas ´preciso usar a mesma chamada para as duas mas com parametros diferentes do tipo
é meio maluco mas acreditem preciso disso!
instancia = criarInstancia("Compra");
instancia = criarInstancia("Endereco");
GOSTEI 0
Carlos Barretto
09/04/2009
e o resultado tem que ser como se eu fizesse
Compra instancia = new Compra(); Endereco instancia = new Endereco();
GOSTEI 0
Carlos Barretto
09/04/2009
é.... realmente eu me confundi....
é com reflection msm...
:?
GOSTEI 0
Fábio Guimarães
09/04/2009
Talvés isto:
public class Teste {
public static Object getClass (String nameClass) {
try {
return (Class.forName(nameClass)).newInstance();
}
catch (Exception ex) {
ex.printStackTrace();
return null;
}
}
public static void main(String args[]) {
String name = (String)getClass("java.lang.String");
name = "JavaFree";
System.out.println(name);
}
}GOSTEI 0
Carlos Barretto
09/04/2009
[quote="JavaTeco"]Talvés isto:
valeu, vou tentar resolver a partir deste exemplo, quaslquer resultado posto aqui!!
public class Teste {
public static Object getClass (String nameClass) {
try {
return (Class.forName(nameClass)).newInstance();
}
catch (Exception ex) {
ex.printStackTrace();
return null;
}
}
public static void main(String args[]) {
String name = (String)getClass("java.lang.String");
name = "JavaFree";
System.out.println(name);
}
}GOSTEI 0
Fábio Guimarães
09/04/2009
Se vc quiser passar parâmetros para construtor ou chamar métodos, seria interessante criar uma classe, onde por exemplo, vc adiciona parâmetros para um determinado método.
GOSTEI 0
Carlos Barretto
09/04/2009
[quote="JavaTeco"]Se vc quiser passar parâmetros para construtor ou chamar métodos, seria interessante criar uma classe, onde por exemplo, vc adiciona parâmetros para um determinado método.
blz, realmente o que eu perguntei deu certo!!!!
Obrigado a todos que me ajudaram!! e principalmente ao exemplo prático do Java Tico,, ops... Java Teco... hehehehe :!:
GOSTEI 0