Czytam mojego Deitel, Java Jak zaprogramować książkę i natknąłem się na termin shadowing. Jeśli shadowing jest dozwolony, jaka jest sytuacja lub jaki jest jego cel w klasie Java?Na czym polega cieńowanie zmiennych w klasie Java?
Przykład:
public class Foo {
int x = 5;
public void useField() {
System.out.println(this.x);
}
public void useLocal() {
int x = 10;
System.out.println(x);
}
}
Podoba mi się twój ostatni punkt: "Dopuść do tego tylko wtedy, gdy naprawdę nie dbasz o to, co dzieje się poza zakresem". ... będziesz wiedział, kiedy zacząć dbać, gdy coś dziwnego zacznie się dziać z wartością zmiennej instancji :))) W każdym razie, dobrą praktyką jest zawsze używać this.variable_name w swoich metodach ustawiających wartość instancji zmienna... – luigi7up