class House {
House(int i) {
print("House(int)");
}
Window w3; // Not Init!
House() {
// Show that we're in the constructor:
print("House()");
w3 = new Window(33); // initialize w3
}
Window w2 = new Window(2); // After constructor
void f() { print("f()"); }
Window w1 = new Window(3); // At end
}
Теперь у вас 2 констуктора. И в зависимости от того, какой вызвать, w3 будет инициализирована или нет.
А в вашем коде w3 будет инициализирована в любом случае, если явно в констркуторе ссылку не занулить.