super

オーバーライドされたメソッドはサブクラスを優先的に呼び出されることは 説明しました。
しかしスーパークラスのメソッドを呼び出すことももちろん 可能です。
その呼び出すときに使うのがキーワードsuperです。

スーパークラスのメソッドの呼び出し

super.メソッド名

メソッド名の前にキーワードsuper.(ドット)を追加するだけです。

サンプルプログラム(Sample53.java)

class Sample53{
    public static void main(String args[]){

  Sub53 obj = new Sub53();
       obj.method();
    }

}


class Super53{

   private int x = 10;
    void method(){
         System.out.println("int x = " + x);
    }
}

class Sub53 extends Super53{

   private int y = 20;

   void method(){
         System.out.println("int y = " + y);
    }
}
   

プログラムをコピーする場合すべて選択をクリックしてください。

Sponsored link

コンパイル・実行したいと思います。

Sample53は普通にオーバーライドしただけなのでサブクラスのメソッド が呼ばれています。

では、そのSample53を少しプログラムを変えてスーパークラスのメソッドを呼びたいと思います。

サンプルプログラム(Sample53_1.java)

class Sample53_1{
    public static void main(String args[]){

    Sub53_1 obj = new Sub53_1();

       obj.method();
   
    }

}

class Super53_1{

   private int x = 10;

      void method(){

         System.out.println("int x = " + x);
    }
}

class Sub53_1 extends Super53_1{

   private int y = 20;

   void method(){

       super.method();

       System.out.println("int y = " + y);
    }
}

プログラムをコピーする場合すべて選択をクリックしてください。

Sponsored link

コンパイル・実行してみます 。

このようにサブクラス内でsuper.method();と記述するだけで
スーパークラスのメソッドを呼び出すことができます。

ページのトップへ戻る