T
Tommy54654654
Gast
Hi, hoffe mir kann jemand nen bisschen helfen. Hab nen bisschen Probleme mit Aufrufen von Konstruktoren. Hab auch schon gegoogelt und die prinzipielle Funktionsweise auch verstanden, hab leider nen Problem mit einer spezifischen Programmausgabe. Für ne kurze Erklärung wäre ich sehr dankbar.
Code:
class X {
int i = 5;
8
public X() { this.print(); }
public void print() { System.out.println("X" + i); }
public void call() { this.print(); }
}
public class Y extends X {
int i = 8;
public Y() { this.print(); }
public void print() {
super.print();
System.out.println("Y" + i);
}
public static void main(String[] args) {
X obj = new X(); // Ausgabe: X5
obj.call(); // Ausgabe: X5
obj = new Y(); // Ausgabe: X5 Y0 X5 Y8
obj.call(); // Ausgabe: X5 Y8
}
}
[\code]
Meine Frage ist wie die Ausgaben zustande kommen, vor allem das Y0.