我有一个子类" 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);
}