Javaに関する様々な情報をご紹介します。

12superの利用

Javaに関する様々な情報をご紹介します。

superの利用

このページでは、superの概要、利用方法について説明します。

概要、利用方法

superはサブクラスから、スーパークラスのメンバ変数、メソッドを参照する際に使用します。スーパークラスのメソッドを活かしつつ、サブクラスのメソッドで機能追加したい場合などに使用します。
以下に、オーバーライドを行ったサブクラスのメソッドから、スーパークラスのメソッドを参照する例を記載します。

スーパークラス(ExClass14クラス)

class ExClass14 {
    //引数の値に10,000ポイント追加するメソッドです。
    int getPoint(int point) {
        point = 10000 + point;
        return point;
    }
}

サブクラス(SubExClass14クラス)

class SubExClass14 extends ExClass14 {
    //スーパークラスのgetPointメソッドをオーバーライドしています。
      //引数の値に、ボーナスポイントとして、500ポイント追加し、スーパークラスのメソッドを呼び出しています。
      //結果として、10,500ポイントが追加されます。
    @Override
    int getPoint(int point) {
        point = point + 500;
        return super.getPoint(point);
    }
}

superを使わず、「point = 10000 + point;」とスーパークラスのコードをサブクラスに記載した場合、もし、スーパークラスのコードに変更があった場合、サブクラスのコードも修正する必要が出てき、プログラムの修正漏れ、誤動作の原因になります。superを使用することで、それら誤動作の要因を防止することができます。

このほか、superは、サブクラスのコンストラクタからスーパークラスのコンストラクタを参照したい場合に使用します。詳細は、コンストラクタを参照してください。

12superの利用