Construtores

Como que um construtor chama outro em Java?

1 curtida

Com o this. Veja:

class Teste {
    public Teste() {
        this(1);
    }

    public Teste(int numero) {
        System.out.println(numero);
    }
}
2 curtidas

Nao entendi muito bem. A palavra this e considerada um construtor?

1 curtida

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.

2 curtidas

Entendi, o this se refere a propia classe que ele esta.

1 curtida

Isso.
A instância da própria classe.

1 curtida

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?

1 curtida

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.

1 curtida

Muito obrigado, ajudou muito :slight_smile:

1 curtida

Legal!
Fico feliz por ter ajudado!

Se achar certo, pode marcar minha resposta como coleção, por favor?

1 curtida

Sou novo aqui. Marcar como coleçao e no icone que fica azul quando clica? XD
Se for eu marquei…

1 curtida

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