从子类返回数据



我有一个子类" ShopStaff"班级"员工"。我有一个Meathod Getperson,我需要将其作为单个字符串发送到员工中的数据集和ShopStaff的数据集。

这是我的代码

//在员工中

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

//在ShopStaff

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

但是,当我在子类中调用getperson meathod时,它只会返回部门的信息,而不是名称和年份(我只设置在超级阶级中。

我想到了当我使用超级时。Meathod它将返回层次结构上以上类的所有内容。不是这样吗?如果没有,任何人都可以告诉我如何访问超级类中设置的信息?

谢谢

cj

呼叫时:

super.getPerson();

返回由于未存储在任何地方而被丢弃。您想这样做:

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

您的 super.getPerson()返回值未在当前getPerson()方法中的return语句中返回。它只是在您的代码中丢失。

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

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

只是调用超级,除非您在子类中阅读并使用它。

可能是这样可以起作用的:

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

最新更新