„Hallo Amigo! Heute wird Bilaabo über die Reihenfolge sprechen, in der die Variablen initialisiert werden.“
Stell dir vor, du siehst dir einen Code an. Welche Werte erhalten die Variablen?
Code
class Cat
{
public int a = 5;
public int b = a + 1;
public int c = a * b;
}
Code
class Cat
{
public int a = getSum();
public int b = getSum() - a;
public int c = getSum() - a - b;
public int getSum()
{
return a + b + c;
}
}
„Ist das wirklich erlaubt?“
„Natürlich. Die Reihenfolge, in der die Member-Methoden und -Felder einer Klasse deklariert werden, ist nicht wichtig.“
Eine Klasse wird von oben nach unten geladen, daher ist es wichtig, dass ein Feld nur auf andere Felder zugreift, die bereits geladen wurden. Im Beispiel kann b auf a zugreifen, weiß aber nichts von c.
„Und was wird dann passieren?“
„Wenn Variablen erstellt werden, erhalten sie Standardwerte.“
Code | Das passiert tatsächlich |
---|---|
|
|
|
|
„Heiliger Strohsack! So einfach ist das. Danke, Bilaabo. Du bist ein echter Freund!“
„Hurra! Bilaabo hat einen Freund!“
GO TO FULL VERSION