Para que serve "this"?

3 respostas
Matchola
Bom pessoal,

Eu de novo com uma duvida boba de iniciante :oops:

eu queria saber para q serve this e qnd é q

usa ele com parametro

[color=red]Exemplo:[/color] this(null, date, dateFormatString, dateEditor);

E qnd usa ele com um ponto

[color=red]Exemplo:[/color] return this.idade;

tds os exemplos foram pegos aki no GUJ.

Vlw ai quem pode ajudar!!!

3 Respostas

Dirceu_Roden

this se refere ao objeto atual. Por exemplo:
voce tem um objeto bola com uma propriedade cor, pode acessar a propriedade cor com this.cor
Já o método this() com ou sem parametros se refere ao construtor da tua classe. Este só pode ser usado dentro de outro construtor

Lavieri

this refere-se a se proprio, ele é necessário em situações que vc precisa referenciar o proprio objeto...

por exemplo
public class Pessoa {
   private String nome;
   private int idade;
   
   public Pessoa() {
      //não precisa escrever esse super, pois implicitamente o compilador faz isso...
      //o super, quer dizer que ele chama o construtor do objeto pai...
      super();
   }

   public Pessoa(String nome) {
      //esse this, avisa que é para passar para o construtor de baixo, que tem o nome e idade
      //assim quando vc cria uma pessoa apenas pelo nome, é o mesmo que criar uma com o nome
      //e com a idade igual a 18
      this(nome,18);
   }

   public Pessoa(String nome, int suaIdade) {
      //o this aqui fala... que se refere-se ao campo nome do objeto, e não o que esta no método
      //caso não houvesse o this...  o valor do nome do objeto não seria mudado.
      this.nome = nome;

      //aqui não precisa do this, pois não existe a variavel idade dentro do método, podendo esta
      //ser referenciada sem o this
      idade = suaIdade;
   }

   public String getNome() {
       return nome;
   }
   
   public int getIdade() {
       return this.idade; //aqui não precisa usar o this, mais pode ser usado mesmo assim...
   }

   public void setIdade(int idade) {
       idade = idade; //como aqui não foi usado o this, o valor da data não sera alterado
   }

   public void setNome(String nome) {
      this.nome = nome; //aqui vai ser alterado corretamente
   }
}
articof

Com o this você identifica a variavel local da classe. Exemplo: cuando você tem uma variavel local chamada String nome e outra variavel também chamada String nome que vem numa assinatura de um método, com o this.nome você chama a variavel local. E se você não usa o this, vai chamar sempre a variavel do método.

Criado 15 de fevereiro de 2009
Ultima resposta 15 de fev. de 2009
Respostas 3
Participantes 4