Instanciar sem usar new? [RESOLVIDO]

7 respostas
P

Pessoal,

Existe alguma forma de instanciar uma classe sem usar o new? É apenas por curiosidade, só isso…

Já pesquisei aqui no guj e no google, mas, não consegui achar a resposta, não sei se procurei com as palavras erradas…

7 Respostas

ViniGodoy

Não existe.

ViniGodoy

PS: Existe através de reflexão. Mas isso não é uma forma OO padrão:

Class<String> clazz = String.class; String x = clazz.newInstance();

P

Ok!!! Era só isso que precisava saber!!! Muito obrigado!!!

peczenyj

existem pelo menos 2 formas “OO”

  1. Factories
Cliente c= clienteFactory.create();// pode ser um metodo static ou não
  1. Criando um clone de um objeto ja existente
Cliente c = outroCliente.clone(); // implemente Cloneable

agora veja se vc não precisa de um framework de injeção de dependencias como o Google Guice. Nem sempre vale apelar para reflection, até pq vc precisa testar se veio um objeto valido em Runtime.

ViniGodoy

E em ambas existirá um new dentro dos métodos.

P

Ficou muito claro pra mim, Obrigado ao Peczenyj e ViniGodoy, Vlw!

peczenyj

E em ambas existirá um new dentro dos métodos.

Claro. Ou um newInstance(). O que preferir.

Criado 6 de fevereiro de 2011
Ultima resposta 7 de fev. de 2011
Respostas 7
Participantes 3