No exemplo abaixo
class X {
int a = 10;
public void metodo() {
int a = 20; // shadowing
System.out.println(a); // imprime 20
}
}
Realmente, é uma situação muito comum o nome da variável no parâmetro ser exatamente igual o nome da variável de instância, uma prova simples disso seriam os "setters".
Mas existe alguma situação real onde a situação acima faz algum sentido? Além de uma "pegadinha" no exame?