如何解决访问子类中超类的私有字段
package com.company;
import java.util.Scanner;
class Person{
private String name;
String address;
public Person() {
this.name = name;
this.address = address;
}
public Person(String name,String address) {
this.name = name;
this.address = address;
}
class Student extends Person{
String program;
int year;
double fee;
//public Student(){super();};
public Student(String program,int year,double fee){
super.Person(name,address); <----Error is here
this.program = program;
this.fee = fee;
this.year = year;
}
我错误地认为名称是私有的。我曾尝试添加和删除默认构造函数,但没有任何帮助 我尝试过使用构造函数,但没有任何帮助。
解决方法
您的 Student 类不应在 Person 类中定义。并且 name
未在您尝试访问它的 Student 中定义,因此它尝试访问超类的 name
属性,该属性是私有的且在 Student 的范围之外。
您应该在 Person 之外定义 Student,并向其构造函数添加 name
和 address
参数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。