我有一個類如何訪問子方法內的子類中的父類變量?
public class A {
private String name;
public void setName(String name){
this.name = name;
}
public string getName(){return name;}
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append(name).append(", ");
return builder.toString();
}
}
我有延伸的一個子類B和我不得不從在toString方法訪問名字B.我寫了下面的代碼,但不知道這是否一個好的做法?
public class B extends A {
private String gender;
public void setGender(String gender){
this.gender = gender;
}
public string getGender(){return gender;}
@Override
public String toString() {
c = new A();
StringBuilder builder = new StringBuilder();
builder.append(c.getName()).append(", ");
builder.append(gender).append(", ");
return builder.toString();
}
}
編輯: 如果我不能在B類訪問私人字符串名稱,我用super.setName(name)
有@Override setName()
?在那種情況下,如果我不想使用A的任何對象,那麼它與使用類B不同的地方有什麼不同?
我剛開始使用JAVA來修改服務。
您可以使用'super'關鍵字來使用模式類方法或實例變量。 like'super.name' – seal
不,這不是很好的做法。首先,'c'變量中的'name'值從來沒有被設置爲任何東西,所以它總是默認的。您可以從派生類中訪問基類的getter和setter,爲什麼不使用這些呢? – David