访问子类中超类的私有字段 package.com公司; 导入java.util.Scanner; 班主任{ 私有字符串名称; 字符串地址; 公众人士(){ this.name=名称; this.address=地址; } 公众人物(字符串名称、字符串地址){ this.name=名称; this.address=地址; } 班级学生延伸人{ 字符串程序; 国际年; 双倍收费; //公立学生(){super();}; 公立学生(字符串课程,国际学年,双倍费用){ super.Person(name,address);
您的学生类不应在Person类中定义。并且访问子类中超类的私有字段 package.com公司; 导入java.util.Scanner; 班主任{ 私有字符串名称; 字符串地址; 公众人士(){ this.name=名称; this.address=地址; } 公众人物(字符串名称、字符串地址){ this.name=名称; this.address=地址; } 班级学生延伸人{ 字符串程序; 国际年; 双倍收费; //公立学生(){super();}; 公立学生(字符串课程,国际学年,双倍费用){ super.Person(name,address);,java,inheritance,super,Java,Inheritance,Super,您的学生类不应在Person类中定义。并且name未在您尝试访问它的学生中定义,因此它尝试访问超类的name属性,该属性是私有的,不在学生的范围内 您应该在Person之外定义Student,并将名称和地址参数添加到其构造函数。您不能访问声明类之外的私有字段。但为什么要将超类的名称设置为超类? package com.company; import java.util.Scanner; class Person{ private String name; String ad
name
未在您尝试访问它的学生中定义,因此它尝试访问超类的name
属性,该属性是私有的,不在学生的范围内
您应该在Person之外定义Student,并将
名称
和地址
参数添加到其构造函数。您不能访问声明类之外的私有字段。但为什么要将超类的名称设置为超类?
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;
}