dúvida básica - construtores privado e público

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,