Sei que um construtor pode ser public, protected e private, o mais usual é public, eu acho. De qual forma, por que eu iria quer deixar ele como private? Poderia me dar um exemplo?
abraço,
André AS
Sei que um construtor pode ser public, protected e private, o mais usual é public, eu acho. De qual forma, por que eu iria quer deixar ele como private? Poderia me dar um exemplo?
abraço,
André AS
O construtor private não permite que sejam instanciados objetos por ele.
Algumas classes Factory utilizam este recurso, já que seus métodos são estáticos. Se não me engano BorderFactory é assim.
O Pattern Sigleton utiliza desse aterfato, outra coisa, na sua própria classe você pode querer deixar um construtor que receba um número x de parâmetros privado, apenas para uso da própria classe e outro público chamando esse contrutor privado!
Fiz um teste, e não funcionou construtor chamando outro construtor… Isso é possível?
Você está chamando o outro construtor com isto?
Só não faça um chamando o outro e vice-versa.
Claro, não iria falar uma mentira em público. Acontece que chamadas a outros construtores deve ser a primeira instrução após a assinatura do construtor, pode ser que esse seja o seu erro, falo isso porque eu não sei o código que vocÊ postou e nem o erro que está dando! :roll:
public class Teste {
private String nome;
private int idade;
private Teste() {
this.idade = 0;
}
public Teste(String nome) {
this();
this.nome = nome;
}
public static void main(String[] args) {
Teste t = new Teste("Thiago");
System.out.println(t.getNome());
System.out.println(t.getIdade());
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getIdade() {
return idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
}