Uso da palavra chave this dentro de um método que recebe um objeto
7 respostas
java
H
haiteck
Bom dia pessoal!
Gostaria que vcs me tirassem uma dúvida referente a palavra this,
É o seguinte tenho uma classe e dentro dessa classe tem um método que recebe um objeto como parâmetro
Minha dúvida sobre o this é o seguinte se eu passar this para o método recebeObjeto ele irá passar para esse método uma instância referente a classe Classe1 ou uma instância referente a classe MinhaClasse?
E se o método1 recebe-se 2 ou mais objetos ao invés de 1, como ficaria o uso do this de nesse caso?
Faz tempo que não uso Java, mas baseado em JS e outras linguagens, ele só pode passar a classe MinhaClasse, pra passar a Classe1 ele teria que repassar a c1.
H
haiteck
Então se eu quisesse passar para o método recebeObjeto uma instância da Classe1 teria que fazer
No código acima será passado como argumento para o método recebeObjeto uma instância da classe MinhaClasse ou da classe Classe1?
H
haiteck
staroski vc sabe aonde encontrar um conteúdo bem completo onde explique a utilização da palavra this em diversas situações?
J
Jakecoll
A instância da classe MinhaClasse. A outra, da Classe1, será jogada no limbo, já que não está sendo usada. Experimente rodar este código para você vê ao que o this realmente se refere:
publicclassMain{publicclassMinhaClasse{publicvoidwhoIsThatPokemon(){System.out.println(this);}publicvoidwhoIsThatPokemon(MinhaClassec){System.out.println(c);}}publicvoidmain(){MinhaClasseminhaClasse=newMinhaClasse();// Usando thisminhaClasse.whoIsThatPokemon();// Usando como parametro a propria instanciaminhaClasse.whoIsThatPokemon(minhaClasse);// A instânciaSystem.out.println(minhaClasse);}publicstaticvoidmain(String[]args){newMain().main();}}
staroski
A explicação bem completa é a seguinte:
Você usa o this quando quer fazer referência à instância da própria classe em execução naquele momento.
No seu caso, está executando o método metodo1 da classe MinhaClasse, logo o this é a instância de MinhaClasse.