javaで、サブクラスはどうやって親クラスのメンバーにアクセスするのか?

Javaでは、継承したクラスはsuperキーワードを使用して親クラスのメンバーにアクセスすることができます。以下に例を示します。

  1. 親クラスのメソッドを呼び出す:
public class Parent {
    public void print() {
        System.out.println("Parent class");
    }
}

public class Child extends Parent {
    public void printChild() {
        super.print(); // 调用父类的print方法
        System.out.println("Child class");
    }
}

public class Main {
    public static void main(String[] args) {
        Child child = new Child();
        child.printChild(); // 输出:Parent class  Child class
    }
}
  1. 祖先の属性へのアクセス
public class Parent {
    protected int age;

    public Parent(int age) {
        this.age = age;
    }
}

public class Child extends Parent {
    public Child(int age) {
        super(age); // 调用父类的构造方法
    }

    public void printAge() {
        System.out.println("Age: " + super.age); // 访问父类的age属性
    }
}

public class Main {
    public static void main(String[] args) {
        Child child = new Child(10);
        child.printAge(); // 输出:Age: 10
    }
}

クラス内のSuperキーワードを使うと、祖先のメンバーを参照できます。ただし、参照対象のメンバーは、publicかProtectedなアクセス修飾子が必須です。祖先とクラスが同じパッケージ内にあっても同条件が適用されます。一方、メンバーにPrivateなアクセス修飾子が使用されている場合は、サブクラスからアクセスすることはできません。

bannerAds