Ich habe ein Objekt einer Unterklasse erweitert seine Oberklasse. In der Unterklasse gibt es eine überschriebene Methode, die mit dem Objekt aufgerufen werden kann. Ist es möglich, die Funktion der Superklasse mit dem Unterklassenobjekt aufzurufen?Zugriff auf Super-Klasse-Funktion mit Subclass-Objekt
package supercall;
public class Main {
public static void main(String[] args) {
SomeClass obj = new SubClass();
obj.go(); //is there anything like, obj.super.go()?
}
}
class SomeClass {
SomeClass() {
}
public void go() {
System.out.println("Someclass go");
}
}
class SubClass extends SomeClass {
SubClass() {
}
@Override
public void go() {
System.out.println("Subclass go");
}
}
Betrachten Sie den obigen Code.
Hier druckt es
Subclass gehen
. Stattdessen habe ich
Superklasse
gehen
zu drucken.
Ja. Aber manchmal würde ich auch die Methode der Unterklasse verwenden. Ist es nicht möglich, die Methode der Oberklasse auf andere Weise aufzurufen? etwas wie obj.super.go() ??? Natürlich ist das ein falsches Konstrukt. Ich meinte sowas ähnliches ?? – bdhar
Oh Mann ... ich habe gerade diese Antwort geschrieben (nicht gepostet) ... Scheiße !!! – RubyDubee
@bdhar: Ja, du kannst einfach 'Super' nennen. Aber Sie müssen diesen Anruf von * in * der Klasse tätigen. Es kann nicht extern gemacht werden. –