Duvida no uso do this em um JTextField

2 respostas
wiliam_jar

Oiamigos estou com duvida nisso, estou lendo um livro onde o autor escreve o seguinte codigo:

import javax.swing.*;
public class aplicacao
{
     static JTextField Tx1;
     
     public aplicacao()
      {
             Tx1 = new JTextField();
             this.Tx1 = Tx1;
             Tx1.setBounds(190,120,80,20);

              ...

      }


}

A minha duvida esta no uso do this.Tx1 = Tx1, no livro vejo ele usando esse codigo para JTextField staticas, alguem poderiame explicar o porque disso?

2 Respostas

RiQuInHo_

fala aew cara

Não é nada complicado usar a referencia this. Usa-se quando voce quer fazer referencia a propria classe, por exemplo:

Nesse trecho criei um atributo nome e nao usei o this
public class Teste1 {   
       
    private String nome = "sem valor";   
       
    public void setNome (String nome){   
        nome = nome;   
    }   
       
    public String getNome(){   
        return nome;   
    }   
       
    public static void main(String[] args) {   
        Teste1 t = new Teste1();   
           
        t.setNome("qualquer coisa !");   
        System.out.println(t.getNome());   
    }   
       
}

o resultado diss é que independente do valor passado no metodo setNome, o sistema não vai atribuir porque a variavel local tem o mesmo nome da variavel da classes.

o resultado sempre vai ser :

sem valor

Agora vamos usar o this nesse mesmo caso:

public class Teste2 {
    
    private String nome = "sem valor";
    
    public void setNome (String nome){
        this.nome = nome;
    }
    
    public String getNome(){
        return nome;
    }
    
    public static void main(String[] args) {
        Teste2 t = new Teste2();
        
        t.setNome("qualquer coisa !");
        System.out.println(t.getNome());
    }
    
}

O resultado agora atende qualquer coisa !

Espero que tenha te esclarecido !!

Um Abraço e bons estudos .

wiliam_jar

Obrigado RiQuInHo_$_$ me ajudou bastante!! :slight_smile:

Criado 26 de junho de 2012
Ultima resposta 26 de jun. de 2012
Respostas 2
Participantes 2