O comando this refere-se sempre ao objeto que está em uso no momento
exemplo
// quando eu uso this.text é o mesmo que// MyThis m = new MyThis();// m.text = "texto";publicclassMyThis{Stringtext;publicvoidchangeThis(Strings){this.text=s;}}
Espero ter ajudado!
P
pedrolima88
opa valeu por responder camarada,
sobre a declaracao de variavel de objeto eu ate peguei, mas o this ainda estou meio que com duvidas.
vou ver se releio varias vezes ate entender
ou se alguem puder tentar me explicar de outra forma tambem to aceitando
thiagocg
Voce pode sempre declarar o objeto antes de usa-lo
//declarando o objeto, sempre que declarar informe um valor para que este objeto possa ser utilizadoPessoapessoa=null//Voce também pode declará-lo e instanciá-loPessoapessoa=newPessoa();
O comando this é para dizer q vc esta utilizando um objeto global, declaro e acessado por toda sua classe, pois as vezes vc pode ter, mesmo não sendo aconselhável, objetos com mesmo nome declarado, sendo um local de seu metodo e um global de sua classe.
Espero ter ajudado!
Abraço!
M
malstryx
pedrolima88:
opa valeu por responder camarada,
sobre a declaracao de variavel de objeto eu ate peguei, mas o this ainda estou meio que com duvidas.
vou ver se releio varias vezes ate entender
ou se alguem puder tentar me explicar de outra forma tambem to aceitando :D
Imagina que você tem um int saldo; na classe Conta:
publicclassConta{intsaldo;}
Quando você queiser setar algum valor ao saldo, por exemplo, não há necessidade de usar o this, pois o this ultilizamos para diferenciar atributos da classe de outras classe. This = “esse”.
Mas se tivessemos:
publicclassConta{|-->intsaldo;||publicvoidsetSaldo(intsaldo){||_>this.saldo=saldo;// Este segundo será o que entramos como parâmetro do método setSaldo./*Aqui surgiu a necessidade de usarmos o "this", pois o objeto int que entrará como parâmetro também se chama "saldo", para a classe entender que você quer setar o valor no saldo dela, você ultiliza o "this"*/}}
Sacou?
abçs
aix
thiagocg:
Voce pode sempre declarar o objeto antes de usa-lo
//declarando o objeto, sempre que declarar informe um valor para que este objeto possa ser utilizadoPessoapessoa=null//Voce também pode declará-lo e instanciá-loPessoapessoa=newPessoa();
O comando this é para dizer q vc esta utilizando um objeto global, declaro e acessado por toda sua classe, pois as vezes vc pode ter, mesmo não sendo aconselhável, objetos com mesmo nome declarado, sendo um local de seu metodo e um global de sua classe.
ahhh agora sim estou sacanado, o this ele aponta para avariavel global, ou seja a que esteja fora do metodo certo ?
o uso dele pode ser aconselhavel somente quando tem o mesmo nome as variaveis ou foi apenas coencidencia?
valeu
khaoz
Você pode usar o this sempre que se referir a um membro da classe e não somente quando houver ambiguidade de nomes.
P
pedrolima88
opa!
muito obrigado mesmo.
Soh para confirmar entao:
isso aqui,
Conta c1;
c1 = new Conta();
eh a mesma coisa que isso aqui:
Conta c1 = new Conta();
?
valeu!
aix
pedrolima88:
opa!
muito obrigado mesmo.
Soh para confirmar entao:
isso aqui,
Conta c1;
c1 = new Conta();
eh a mesma coisa que isso aqui:
Conta c1 = new Conta();
?
valeu!
é isso ai são 3 etapas segundo a kathy sierra declaração, criação e atribuição
1 - Conta c1 --> declaração da variavel
2 - new Conta(); --> solicita a JVM alocar espaço pra um novo objeto
3 - Cota c1 = new Conta(); --> vincule o objeto e a referência, atribui o novo objeto Conta a variável de referência c1
P
pedrolima88
opa beleza, mas isso esta violando alguma norma de boa programacao ? tipo as normas da sun ou algo do tipo? ainda nao cheguei a ler elas :T
aix
hehehheeh, vc faz umas perguntas engraçadas, não ta violando nada naum , esse é o caminho.