Deshalb habe ich bei Scaler-Themen über das Super-Schlüsselwort in Java gelesen und dann begonnen, einige Anfragen in anderen Foren zu untersuchen, und habe ein Auge auf dieses Problem geworfen und auch dort nicht die richtige Lösung gesehen, also frage ich hier. Ich versuche, die Implementierung hinter dem Super-Schlüsselwort in JAVA herauszufinden. Ich habe eine abstrakte Klasse und eine öffentliche Klasse namens Extend erstellt.
Code
abstract class AbsClass {
private String colour;
public AbsClass(String colour) {
this.colour = colour;
}
void findColour()
{
System.out.println(this.colour);
}
//getter and setter
}
Display More
Jetzt habe ich eine öffentliche Klasse, die diese abstrakte Klasse implementiert.
Java
package abstraact.concept;
import java.lang.reflect.Method;
public class ExtendAbsClass extends AbsClass {
public ExtendAbsClass(String colour) { super(colour); }
@Override void findColour() { super.findColour();
/* Is the above line similar to
mthd = this.getClass().getSuperclass().getDeclaredMethod("findColour", null); mthd.invoke(this, null); */
System.out.println("Colour in sub class method " + this.getColour());
}
public static void main(String[] args) { ExtendAbsClass absClass = new ExtendAbsClass("Blue"); absClass.findColour(); }
}
Display More
Wo ich die Implementierung hinter dem Schlüsselwort super sowie dem Schlüsselwort 'this' sehen kann. Wie greift das Schlüsselwort super auf die Methode superclass zu? Vielen Dank im Voraus.