スーパーJavaキーワードのガイド
1. 前書き
このクイックチュートリアルでは、we’ll take a look at the super Java keyword.
簡単に言うと、superキーワードを使用して親クラスにアクセスできます。
言語のコアキーワードのアプリケーションを調べてみましょう。
2. コンストラクタを使用したsuperキーワード
We can use super() to call the parent default constructor。 これは、コンストラクターの最初のステートメントでなければなりません。
この例では、super(message) をString引数とともに使用します。
public class SuperSub extends SuperBase {
public SuperSub(String message) {
super(message);
}
}
子クラスインスタンスを作成して、背後で何が起こっているかを見てみましょう。
SuperSub child = new SuperSub("message from the child class");
newキーワードは、SuperSubのコンストラクターを呼び出します。このコンストラクター自体が最初に親コンストラクターを呼び出し、String引数を渡します。
3. 親クラス変数へのアクセス
messageインスタンス変数を使用して親クラスを作成しましょう。
public class SuperBase {
String message = "super class";
}
次に、同じ名前の変数を持つ子クラスを作成します。
public class SuperSub extends SuperBase {
String message = "child class";
public void getParentMessage() {
System.out.println(super.message);
}
}
superキーワードを使用して、子クラスから親変数にアクセスできます。
4. メソッドのオーバーライドを使用したsuperキーワード
先に進む前に、method overridingガイドを確認することをお勧めします。
親クラスにインスタンスメソッドを追加しましょう。
public class SuperBase {
String message = "super class";
public void printMessage() {
System.out.println(message);
}
}
そして、子クラスのprintMessage()メソッドをオーバーライドします。
public class SuperSub extends SuperBase {
String message = "child class";
public SuperSub() {
super.printMessage();
printMessage();
}
public void printMessage() {
System.out.println(message);
}
}
We can use the super to access the overridden method from the child class。 コンストラクターのsuper.printMessage()は、SuperBaseから親メソッドを呼び出します。
5. 結論
この記事では、superのキーワードについて説明しました。
いつものように、完全なコードはover on Githubで利用できます。