GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Construtores


#1

Como que um construtor chama outro em Java?


#2

Com o this. Veja:

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

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

#3

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


#4

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.


#5

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


#6

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


#7

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?


#8

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.


#9

Muito obrigado, ajudou muito :slight_smile:


#10

Legal!
Fico feliz por ter ajudado!

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


#11

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


#12

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