– Cześć, Amigo! Dzisiaj Bilaabo opowie o kolejności inicjalizacji zmiennych.
Wyobraź sobie, że patrzysz na pewien kod. Jakie wartości przyjmują te zmienne?
Kod
class Cat
{
public int a = 5;
public int b = a + 1;
public int c = a * b;
}
Kod
class Cat
{
public int a = getSum();
public int b = getSum() - a;
public int c = getSum() - a - b;
public int getSum()
{
return a + b + c;
}
}
– Czy to naprawdę jest dozwolone?
– Oczywiście. Kolejność, w jakiej deklarowane są metody i pola członków klasy, nie jest istotna.
Klasa jest ładowana w kolejności od góry do dołu, więc ważne jest, aby dane pole miało dostęp tylko do tych pól, które zostały już załadowane. W tym przykładzie b ma dostęp do a, ale nie wie nic o c.
– I co się stanie?
– Tworzone zmienne przyjmują wartości domyślne.
Kod | Co się dzieje naprawdę |
---|---|
|
|
|
|
– Kurka wodna! To takie proste. Dziękuję, Bilaabo. Dobry z Ciebie kumpel!
– Hurra! Bilaabo ma kumpla!
GO TO FULL VERSION