Java 从子类返回数据

Java 从子类返回数据,java,inheritance,return,superclass,super,Java,Inheritance,Return,Superclass,Super,我在“staff”类中有一个子类“shopStaff”。我有一个meathod getPerson,我需要将staff中的数据集和shopStaff中的数据集作为单个字符串发送 这是我的密码 //在职 public String getPerson() { return format(name) + format(yearJoined); } //店员 public String getPerson() { super.getPerson(); return forma

我在“staff”类中有一个子类“shopStaff”。我有一个meathod getPerson,我需要将staff中的数据集和shopStaff中的数据集作为单个字符串发送

这是我的密码

//在职

public String getPerson()
{
    return format(name) + format(yearJoined);
}
//店员

public String getPerson()
{
    super.getPerson();
    return format(department);
}
但是,当我在子类中调用getPerson方法时,它只返回部门信息,而不是名称和yearjoined(我只在超类中设置)

我想当我使用super.meathod时,它会返回层次结构中上面类的所有内容。不是这样吗?如果不是,有人能告诉我如何访问超类中的信息集吗

谢谢


CJ

除非在子类中读取并使用数据,否则仅调用super将无法获取数据

可能是这样的东西会起作用:

public String getPerson()
{
    String person = super.getPerson();
    return person+format(department);
}

只调用super不会得到数据,除非您在子类中读取并使用它

可能是这样的东西会起作用:

public String getPerson()
{
    String person = super.getPerson();
    return person+format(department);
}

在当前的
getPerson()
方法中,
super.getPerson()
的返回值不会随
return
语句一起返回。它只是在代码中丢失了

您需要更改
shopStaff
方法以使用子类返回语句返回超类值:-

public String getPerson()
{
    return super.getPerson() + format(department);
}

在当前的
getPerson()
方法中,
super.getPerson()
的返回值不会随
return
语句一起返回。它只是在代码中丢失了

您需要更改
shopStaff
方法以使用子类返回语句返回超类值:-

public String getPerson()
{
    return super.getPerson() + format(department);
}
当你打电话时:

super.getPerson();
由于退货未存储在任何位置,因此将被丢弃。您需要执行以下操作:

//in shopStaff
public String getPerson() {
  return super.getPerson() + format(department);
}
当你打电话时:

super.getPerson();
由于退货未存储在任何位置,因此将被丢弃。您需要执行以下操作:

//in shopStaff
public String getPerson() {
  return super.getPerson() + format(department);
}