super
JAVA のキーワードの背後にある実装を見つけようとしています。
抽象クラスを作成し、1 つのパブリック クラスを拡張しました
abstract class AbsClass {
private String colour;
public AbsClass(String colour) {
this.colour = colour;
}
void findColour()
{
System.out.println(this.colour);
}
//getter and setter
}
これで、その抽象クラスを実装するパブリック クラスが 1 つあります。
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();
}
}
super
Keyword と 'this` キーワードの背後にある実装を確認できる場所。
キーワードはどのようsuper
にスーパークラス メソッドにアクセスしますか?
前もって感謝します。