Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Não consegui compreender o "this"

Olá gostaria de entender sobre referenciar com this, não consegui compreender a explicação, lí sobre a explicação do Gabriel Leite dada ao Mateus Lima, mas para mim ainda está confuso.. :|

4 respostas
solução!

Oi Fabiano, tudo bem amigo?

Imagine que você tenha essa classe:

public class Conta {
    double saldo;

    public void setSaldo(double saldo) {
        saldo = saldo; // qual é qual saldo nessa linha? =)
    }
}

Repare dentro do método setSaldo: temos um parâmetro chamado saldo como argumento do método, correto? Agora observe que a própria classe Conta também tem uma variável chamada saldo. E agora? Como vamos diferenciar as duas variáveis saldo? É ai que entra a palavra reservada this.

this se refere ao object corrente, em outras palavras, podemos usar this.saldo = saldo para dizer "para o saldo da classe Conta, coloque o valor da variável saldo recebida como argumento do método":

    public void setSaldo(double saldo) {
        this.saldo = saldo; // this.saldo é o saldo da classe Conta
    }

Abraço!

Tipo, por ele estar dentro da própria classe Conta, mesmo assim seria necessário ainda informar, tipo forçar dizer que ele pertence a Class Conta ? Como se eu atestasse que ele realmente pertence , é um original da classe ? Ele é usado apenas dentro da Classe Referência correto ? Seria isso ?

É isto mesmo, pois é muito comum utilizarmos o mesmo nome para as variáveis, se fossem nomes diferentes não precisaria utilizar o this, por exemplo:

public void setSalto(double sald){
    return saldo;
} 

O mesmo vale para o construtor

Show , valeu !