In Java kann ein Objekt die Vatermethode wie folgt aufrufen: ((Father) this).m1();
Was ist der Unterschied zu diesem: Father f = sonObj; f.m1();
?Java - Unterschied ((classType) this) .m1() und eine statische Referenz
public Father extends Object {
public void m1(){}
}
public Son extends Father {
public void m1() {
((Father) this).m1();
}
}
ich Beratung, versuchen Sie zuerst Ihren Code auszuführen. Vergessen Sie nicht, eine Druckanweisung in beide 'm1()' zu schreiben. – Azodious
keine explizite Erweiterung der Klasse "Object", da alle Klassen in Java die Klasse "Object" implizit erweitern. –
Der Aufruf von '((Vater) Variable) .m1()' wird immer dazu führen, dass Sohn 'm1()' wie in Java ausgeführt wird, alle Methoden sind virtuell. Ihr Versuch, dies _within_ sohns m1() zu tun, führt sogar zu einer unendlichen Rekursion von 'Son.m1()' – Quota