Método THIS!

15 respostas
F

Alguem poderia me explicar o q é o metodo this??

15 Respostas

drsmachado

Ninguém. Não existe método this.
this é uma keyword do java, utilizada para referenciar a instância da classe em questão.

E

É uma abreviação, que só pode ser usada no início de um construtor, e diz basicamente que é para reaproveitar o código de um outro construtor dessa mesma classe.

E

Exemplo:

class Cidade {
    public Cidade (String nome) {
        this.nome = nome;
    }
    public Cidade (String nome, int populacao) {
         this (nome); // isto está reaproveitando o construtor que aceita  o nome
         this.populacao = populacao;
    }
    public Cidade (String nome, int populacao, String estado) {
         this (nome, populacao); // reaproveita o construtor que aceita nome e populacao
         this.estado = estado;
    }
    private String nome;
    private int populacao;
    private String estado;
}
Rodrigo_Sasaki

Vivendo e aprendendo hein… Não sabia dessa.

drsmachado

entanglement:
Exemplo:

class Cidade { public Cidade (String nome) { this.nome = nome; } public Cidade (String nome, int populacao) { this (nome); // isto está reaproveitando o construtor que aceita só o nome this.populacao = populacao; } public Cidade (String nome, int populacao, String estado) { this (nome, populacao); // reaproveita o construtor que aceita nome e populacao this.estado = estado; } private String nome; private int populacao; private String estado; }


De fato, respondi na pressa e nem me lembrei disto.
É a referência direta a própria instância, seria o mesmo que usar o nome da classe, que, por consequência é o mesmo nome do(s) método(s) construtor(es), diferenciados pelos parâmetros.

furacao123

boa essa do reaproveitamento de construtor tambem nao conhecia… :smiley:

denisspitfire

é como se voce tivesse um construtor imenso e depois um outro construtor bem parecido mas com duas linhas a mais, dai voce chama o construtor 1 e depois adiciona essas duas linhas no construtor 2.
The power of “this”.

Sleipbr

Também gostei de conhecer esse reaproveitamento, muito legal! Só funciona na própria classe. :lol:

F

Muito bom, brigadão…valew moçada :lol:

douglaskd

também não conhecia esse tipo de abreviação,

muito interessante…

pmlm

douglaskd:
também não conhecia esse método,

muito interessante…

Não é um método, é uma invocação de um construtor. Tal como super chama um construtor da classe pai, this chama um construtor da própria classe.

douglaskd

pmlm:
douglaskd:
também não conhecia esse método,

muito interessante…

Não é um método, é uma invocação de um construtor. Tal como super chama um construtor da classe pai, this chama um construtor da própria classe.

quem disse método ? hehe

valeu

orogerio

O this pode ser usada em qualquer lugar da classe, não só no construtor.

Dentro dos métodos quando usado usado para fazer referência para o objeto declarado na classe.

Olhe o exemplo abaixo:

private String nome = "nome top";

    public void imprimeNome(){
        String nome = "nome sub";

        System.out.println(nome);
        
        System.out.println(this.nome);
    }

Saída :

nome sub
nome top
lucaslzl

Você usa “this.” quando quer referenciar uma variável de dentro da classe, que não está declarado dentro de nenhum método. Ela serve geralmente quando existe uma variável dentro da classe e uma do método em questão com o mesmo nome.

F

orogerio:
O this pode ser usada em qualquer lugar da classe, não só no construtor.

Dentro dos métodos quando usado usado para fazer referência para o objeto declarado na classe.

Olhe o exemplo abaixo:

private String nome = "nome top";

    public void imprimeNome(){
        String nome = "nome sub";

        System.out.println(nome);
        
        System.out.println(this.nome);
    }

Saída :

nome sub nome top

Muito boa explicação…Parabéns ! :stuck_out_tongue_winking_eye:

Criado 22 de maio de 2012
Ultima resposta 24 de mai. de 2012
Respostas 15
Participantes 11