Depois foi atribuido o valor 30 para o mesmo objeto, por que continuou imprimindo 10 e 10?
ATÉ 50% OFF
TÁ ACABANDO!
0 dias
0 horas
0 min
0 seg
Depois foi atribuido o valor 30 para o mesmo objeto, por que continuou imprimindo 10 e 10?
quando coloquei o this no class B{ int c; void c(int c) { c = c; } } ai ele imprime 10 e 30, é como se , sem o this não estivesse ocorrendo o shadowing automatico
eita ninguem pode ajudar? :/
Boa noite, Suellen! Como vai?
O que ocorre é que dentro do método o Java irá usar o c que estiver no escopo do método, no caso o parâmetro. Daí para diferenciar o c parâmetro do c atributo é necessário usar o this. Isso ocorre muito nos métodos set!
Portanto, o que acontece no método c é que o parâmetro c recebe o valor dele mesmo. Por isso o atributo não é alterado e o valor 10 é impresso duas vezes.
Pegou a ideia?
Qualquer coisa é só falar!
Grande abraço e bons estudos!