Hallo!
Ich habe eine Frage bezüglich einer Ausgabe.
Hier der Code:
Ausgabe:
1
K
3
1
P
Jetzt meine Frage: Warum wird in der letzten Ausgabe die toString Methode der Klasse P aufgerufen? Bis jetzt habe ich keine Erklärung dafür gefunden. Vielleicht kann jemand helfen???
Ich habe eine Frage bezüglich einer Ausgabe.
Hier der Code:
Code:
class Q{
int x=3;
public String toString(){
return "Q";
}
}
class K extends Q{
int x=1;
public String toString(){
return "K";
}
}
class P extends K{
int x=7;
P(){
System.out.println(super.x);
System.out.println(super.toString());
System.out.println(((Q)this).x);
System.out.println(((K)(Q)this).x);
System.out.println((Q)this);
}
public String toString(){
return "P";
}
}
public class Test1 {
public static void main(String[] args) {
Q q = new P();
}
}
1
K
3
1
P
Jetzt meine Frage: Warum wird in der letzten Ausgabe die toString Methode der Klasse P aufgerufen? Bis jetzt habe ich keine Erklärung dafür gefunden. Vielleicht kann jemand helfen???