Javaのsuperキーワードの使用方法

Java の super キーワードは、スーパークラスのコンストラクタ、メンバー変数、メンバーメソッドを、サブクラスから呼び出すために使用されます。

  1. 親クラスのコンストラクタを呼び出す:
  2. サブクラスのコンストラクタ内で super キーワードを用いることで、親クラスのコンストラクタを呼び出すことができる。
  3. superキーワードは子クラスのコンストラクタの1行目に記述する必要があり、一度しか呼び出すことができません。
  4. スーパーキーワードを使用して親クラスのコンストラクタを呼び出すときは、引数を渡すことも渡さないこともできます。
  5. 親クラスのメンバー変数とメンバーメソッドを呼び出します
  6. サブクラスでsuperキーワードを使うと、親クラスのメンバー変数やメンバーメソッドにアクセスできる。
  7. スーパークラスのメンバ変数をスーパークラスのメンバ関数から呼び出すときは、子クラスでスーパークラスのメンバ変数に代入したり利用したりできます。
  8. 親クラスのメンバメソッドは、子クラス内でもスーパークラスのメソッドを呼び出すことで使用できます。

サンプルコードは次のとおりです。

class Parent {
    String name;

    Parent(String name) {
        this.name = name;
    }

    void printName() {
        System.out.println("Parent name: " + name);
    }
}

class Child extends Parent {
    String name;

    Child(String parentName, String childName) {
        super(parentName);  // 调用父类的构造方法
        this.name = childName;
    }

    void printName() {
        super.printName();  // 调用父类的成员方法
        System.out.println("Child name: " + name);
    }

    void printParentName() {
        System.out.println("Parent name: " + super.name);  // 访问父类的成员变量
    }
}

public class Main {
    public static void main(String[] args) {
        Child child = new Child("Parent", "Child");
        child.printName();  // 调用子类的方法
        child.printParentName();  // 调用子类的方法
    }
}

子のクラスChildは親クラスParentを継承しており、Childのコンストラクタでは親クラスのコンストラクタをsuperを使用して呼び出しています。また、Childクラスのメソッドでは親クラスのメンバメソッドをsuperを使用して呼び出し、親クラスのメンバ変数にアクセスしています。Mainクラスで、Childクラスのオブジェクトを作成してメソッドを呼び出しています。実行結果は次のとおりです。

Parent name: Parent
Child name: Child
Parent name: Parent
bannerAds