Cześć. Zaciekawiło mnie pewne zjawisko, z którym wcześniej się nie spotkałem. Otóż mając niestatyczne pole pewnej klasy chciałem w pewnej metodzie inicjalizować ją lub nie w zależności czy coś już do tej referencji było przypisane. Taka referencja przed przypisaniem ma wartość null. Jednak w owej metodzie przy sprawdzeniu czy w tej referencji coś już siedzi, zapomniałem odwołać się w następujący sposób:
if(this.mojePole!=null){...}
a zamiast tego wyszło
if(mojePole!=null){...}
Nie zauważając wcześniej błędu, zacząłem zachodzić w głowę jak przed jakąkolwiek inicjalizacją mój warunek może zwracać prawdę. Gdy jednak zobaczyłem, że zgubiłem 'this', program działa, jednak nadal zastanawiam się do czego odnoszę się bez 'this'. Dlaczego wartość jest inna niż null? Nie mam pojęcia do czego się w ten sposób odnoszę. Myślałem do tej pory, że 'this' w tym wypadku jest opcjonalne.