繁体   English   中英

从子类返回数据

[英]Returning data from a sub-class

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

这是我的代码

//员工

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

//在shopStaff中

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

但是,当我在子类中调用getPerson肉类时,它仅返回部门信息,而不返回名称和年份(我仅在超类中设置)。

我想当我使用超级。 Meathod它将返回层次结构中以上类的所有内容。 不是吗? 如果没有人可以告诉我如何访问超类中的信息集?

谢谢

CJ

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

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

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

你打电话时:

super.getPerson();

该退货被丢弃,因为它没有存储在任何地方。 您想这样做:

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

除非您在子类中读取和使用它,否则仅调用super不会获得数据。

可能是这样的事情将工作:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM