Re:Instanciar sem dar New

9 respostas
erickcellani

vc pode mandar o codigo??

a única forma de instanciar é usando o new… nunca vi outro jeito!

manda o código e veremos o que pode ser feito :wink:

9 Respostas

peerless

E se tu definir os métodos como Static ?

nbluis

Não tem como fazer uma injeção de dependência?

cassio

erickcellani:
vc pode mandar o codigo??

a única forma de instanciar é usando o new… nunca vi outro jeito!

manda o código e veremos o que pode ser feito ;)

Não não… existem outras formas!

Pesquise sobre Reflection e Ioc (inversion of control) / DI (dependency injection)

P

se vc quer acessar um método ou até mesmo um atributo sem instanciar a classe, vc deverá utilizar o static ex:

public class JObj{

  public Obj(){
  }

  public static String getNome(){
      return "teste";
  }
}

chamando o método:

JObj.getNome();

Agora se vc quer instanciar uma classe sem usar new, faça o seguinte:

JObj obj = (JObj)JObj.getClass().newInstance();
nbluis

Não utilize static, tem outras técnicas melhores para isso.
Utilize IOC como o amigo acima disse, Injeção de Dependência.

Valeu…

nbluis

Dê uma olhada neste tópico, referente ao uso de static e singletons.

Link:http://blog.caelum.com.br/2006/08/08/singletons-e-static-perigo-a-vista

caiozanchetti

vc pensou em usar singleton?

everson_z

Tenho a classe ClienteSQL que vai enviar os valores para o banco mas, preciso receber os valores que foram enviado para ClienteBean.

Se eu der um new, não vou ter os valores que já estão em ClienteBean,
Criar um parâmetro vai bagunçar tudo pois essa classe extende DataAccessObject com os métodos.

Estava pensando em receber os valores sem dar um new, tem como?

everson_z

Hum…
Tenho uma interface com os metodos, vou criar parametros Object que vai receber a classe.
Vou tentar isso… acho que não vou ter que repetição de codigo

Injeção de Dependência, procurei por cima mas só vih comentarios

Criado 19 de abril de 2007
Ultima resposta 19 de abr. de 2007
Respostas 9
Participantes 7