Para que serve "this"?

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!!!

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

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

por exemplo

[code]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
}
}[/code]

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.