2012-11-07 61 views
0

我在“staff”类中有一个子类“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除非您阅读并在子类中使用它

回答

2

当你拨打:

super.getPerson(); 

返回被丢弃,因为它是不存储在任你会想这样做:

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

只调用超不会得到数据。

可能像这样将工作:

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

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

你需要改变你的shopStaff方法与子类return语句返回超类值: -

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