スーパーJavaキーワードのガイド
1. 序章
このクイックチュートリアルでは、スーパーJavaキーワードを見ていきます。
簡単に言うと、superキーワードを使用して親クラスにアクセスできます。
言語のコアキーワードのアプリケーションを調べてみましょう。
2. コンストラクターを使用したsuperキーワード
super()を使用して、親のデフォルトコンストラクターを呼び出すことができます。 コンストラクターの最初のステートメントである必要があります。
この例では、 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";
// default constructor
public SuperBase(String message) {
this.message = message;
}
}
次に、同じ名前の変数を使用して子クラスを作成します。
public class SuperSub extends SuperBase {
String message = "child class";
public void getParentMessage() {
System.out.println(super.message);
}
}
super キーワードを使用して、子クラスから親変数にアクセスできます。
4. superキーワードとメソッドのオーバーライド
先に進む前に、メソッドのオーバーライドガイドを確認することをお勧めします。
親クラスにインスタンスメソッドを追加しましょう。
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);
}
}
superを使用して、子クラスからオーバーライドされたメソッドにアクセスできます。 コンストラクターのsuper.printMessage()は、SuperBaseから親メソッドを呼び出します。
5. 結論
この記事では、superキーワードについて説明しました。
いつものように、完全なコードはGithubでから入手できます。