Como que um construtor chama outro em Java?
Com o this
. Veja:
class Teste {
public Teste() {
this(1);
}
public Teste(int numero) {
System.out.println(numero);
}
}
Nao entendi muito bem. A palavra this e considerada um construtor?
Não.
O this
, representa a instância atual.
Quando você faz, de fora da classe Teste
isso:
Teste t = new Teste();
Você tem a variável t
apontada para uma instância de Teste
.
Isso serve para quando você quer referenciar uma instância fora da própria classe instanciada.
Agora, quando você quer se referir a uma instância dentro da classe instanciada (sua própria instância) você usa a palavra this
.
Entendi, o this se refere a propia classe que ele esta.
Isso.
A instância da própria classe.
E se eu quisesse criar um construtor que chamasse outro contrutor dentro da classe. Como ficaria?
Tipo eu crio o objeto da classe e detro da classe ela instancia outro objeto. E possivel?
São coisas diferentes.
Construtores são apenas métodos chamados no momento em que é construída uma instância.
A instância é construída pela palavra new
.
Você pode chamar quantos construtores quiser, apenas uma instância será construída.
Você pode chamar outros construtores da forma que postei (primeira resposta)
Mas se o que você quer fazer é após uma outra classe chamar o construtor da sua classe, a sua classe criar mais objetos de si mesma, você pode fazer SuaClasse sc = new SuaClasse();
dentro do próprio construtor que foi chamado. Sem problemas.
Muito obrigado, ajudou muito
Legal!
Fico feliz por ter ajudado!
Se achar certo, pode marcar minha resposta como coleção, por favor?
Sou novo aqui. Marcar como coleçao e no icone que fica azul quando clica? XD
Se for eu marquei…
Hahhaha
Não!
Deve ter tipo um checkBox aí…
Olha esse tópico: Como eu coloco minha biblioteca (que está no Github) no Maven?
Esse tem solução