我有一个类如何访问子方法内的子类中的父类变量?
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