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