访问子类中超类的私有字段 package.com公司; 导入java.util.Scanner; 班主任{ 私有字符串名称; 字符串地址; 公众人士(){ this.name=名称; this.address=地址; } 公众人物(字符串名称、字符串地址){ this.name=名称; this.address=地址; } 班级学生延伸人{ 字符串程序; 国际年; 双倍收费; //公立学生(){super();}; 公立学生(字符串课程,国际学年,双倍费用){ super.Person(name,address);

访问子类中超类的私有字段 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

您的学生类不应在Person类中定义。并且
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;

    }