●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

親クラスを扱う「superキーワード」とは?

Javaのオブジェクト指向では、クラスの継承によって、親クラスのメンバーを子クラスで利用することができます。
このとき使うのが super キーワードです。
親クラスのメソッドやコンストラクタ、フィールドにアクセスしたいときに使います。

主な用途

  • 親クラスのメソッドを呼び出す
  • 親クラスのコンストラクタを呼び出す
  • 親クラスのフィールドにアクセスする

1. 親クラスのメソッドを呼び出す

class Animal {
    public void speak() {
        System.out.println("何かの動物が鳴いています。");
    }
}

class Dog extends Animal {
    @Override
    public void speak() {
        super.speak();  // 親クラスのメソッドを呼び出し
        System.out.println("ワンワン!");
    }
}
    

2. 親クラスのコンストラクタを呼び出す

class Animal {
    public Animal(String name) {
        System.out.println(name + "が生まれました。");
    }
}

class Dog extends Animal {
    public Dog() {
        super("犬");  // 親のコンストラクタを呼び出す(最初の行に書く)
    }
}
    

注意:super()はコンストラクタ内の最初の行に書く必要があります。

3. 親クラスのフィールドにアクセス

class Animal {
    protected String type = "動物";
}

class Cat extends Animal {
    public void printType() {
        System.out.println("私は" + super.type + "です。");
    }
}
    

thisとの違い

キーワード 意味 用途
this 自分自身のオブジェクト 自分のメソッド・フィールド・コンストラクタ
super 親クラスのオブジェクト 親のメソッド・フィールド・コンストラクタ

まとめ

superキーワードは、Javaで親クラスの要素にアクセスするためのキーワードです。
継承関係のあるクラス設計では、superを活用して親クラスの機能を生かしつつ、子クラスでの拡張が行えます。
thisとの違いを理解して、オブジェクト指向の力をより引き出していきましょう!