por favor, gostaria de deixar minha Action (Struts2) com um construtor privado (pois só será usado internamente) e porém com um construtor default pois
se alguém estiver criando uma instância da classe em algum lugar daí não dará problema… mas veja meu código… sou obrigado a passar um valor como
parametro (Object o) mas não vou usar…
//construtores
private TipoArquivoAction(Object o) {
this.tipoArquivoDAO = new TipoArquivoDAO();
this.tipoArquivo = new TipoArquivo();
}
public TipoArquivoAction(){ //default
super();
}
andredecotia sua pergunta está meio confusa. Poderia tentar melhorar…
Atenciosamente,
como faço pra ter um construtor privado q cria instancias… e um construtor publico default… na mesma classe? neste contexto, do meu código…
Para você poder usar mais de uma construtor ou um método com o mesmo nome a única alternativa é usar a sobrecarga e foi exatamente o que você usou no exemplo então está correto.
Atenciosamente,
Uma boa alternativa é oferecer um método estático público para retornar instâncias:
class TipoArquivoAction{
private TipoArquivoAction(){} //construtor privado
public static TipoArquivoAction getInstance(){
TipoArquivoAction t = new TipoArquivoAction();
t.tipoArquivoDAO = new TipoArquivoDAO();
//etc....
return t;
}
}
Bom dia senhores…
Se não me engano o construtor chamado default é um construtor criado pelo javac quando definimos uma classe e não definimos um construtor pra ela…
Se eu estiver errado alguem me corrija…
A ideia que rmendes08 mostrou seria quase o padrão de projeto SINGLETON.
Isso mesmo Carlos_ds_jar.
Mas podemos criar um com as mesmas ideias, mas o nome não é esse…
Atenciosamente,