Funktionen in Python nur am Anfang
Als Klassenattribut (aka statische Variable) kann das doch auch in Java nicht funktionieren. Wie sollte das den ausgewertet werden?
Nope, dies hier funktioniert:
Ruft man `new Foo().bar` auf, erhält man ein `Bar`-Exemplar, allerdings zeigt das `println`, dass wenn die Klasse `Bar` initialisiert wird, offensichtlich `Foo` noch nicht initialisiert wurde. In Java ist es nicht notwendig, dass der class initializer der Oberklasse vor dem der Unterklasse ausgeführt wird.
Stefan
Code: Alles auswählen
public class Foo {
static Bar bar = Bar.baz;
}
public class Bar extends Foo {
static Bar baz = new Bar();
static {
System.out.println(Foo.bar);
}
}
Stefan