Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Duvida de atribuição

Depois foi atribuido o valor 30 para o mesmo objeto, por que continuou imprimindo 10 e 10?

3 respostas

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? :/

solução!

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!