super Javaキーワードの手引き

スーパー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で利用できます。