[英]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.