Subclassはスーパークラスのプライベートメンバーにアクセスできますか?
1605 ワード
クラスプライベートのINST VARを状態にすると、コンパイル時のblunderが作成されます.
それにもかかわらず、プライベートVARを持つクラス、クラスの他のすべての参加者だけでなく、プライベートVARも継承され、サブクラスに対してアクセス可能なクラスにアクセスします.
ただし、コンパイル時にエラーが発生した場合は、オープンに到達できません.
例
コンパイル時エラー
例
Read more
それにもかかわらず、プライベートVARを持つクラス、クラスの他のすべての参加者だけでなく、プライベートVARも継承され、サブクラスに対してアクセス可能なクラスにアクセスします.
ただし、コンパイル時にエラーが発生した場合は、オープンに到達できません.
例
class Person1{
private String name1;
public Person(String name1){
this.name1 = name1;
}
public void displayPerson() {
System.out.println("Person class data: ");
System.out.println("Name of the person: "+this.name1);
}
}
public class Student1 extends Person1 {
public Student(String name1){
super(name1);
}
public void displayStudentRecord() {
System.out.println("Student class data: ");
System.out.println("Name: "+super.name1);
}
public static void main(String[] args) {
Student std = new Student1("Trump");
}
}
コンパイル時エラー
Student1.java:17: error: name1 has private access in Person
System.out.println("Name: "+super.name1);
^
1 error
スーパークラスのプライベートインスタンスに到達するには、setter関数とgetter関数を使用し、サブクラスobjを使って呼び出します.例
Read more
Reference
この問題について(Subclassはスーパークラスのプライベートメンバーにアクセスできますか?), 我々は、より多くの情報をここで見つけました https://dev.to/whataluckyguy/can-a-subclass-access-private-members-of-a-superclass-38koテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol