如何在子类中初始化父类的成员变量

2019-10-26  本文已影响0人  小小的石头_0546

如下,要在Adventure 类的子类Selia 中初始化NPCName这个成员变量。

public class Adventure {
    //NPC名字
    public String NPCName;

    //为了使各个子类能够自定义NPCName
    public void setNPCName(String NPCName) {
        this.NPCName = NPCName;
    }
}
public class Selia extends Adventure{
    public Selia() {
        setNPCName("Selia");
    }
}

然而,我们无法在子类的方法之外直接引用NPCName,而且并不希望调用额外的方法来定义NPCName,例如这样:

public class Selia extends Adventure{
    public void setName(){
        NPCName="hahaha";
    }
}

所有我将对NPCName的定义放在了Selia 的构造函数中。当然也可以这样实现,更简单:

public class GSD extends Adventure{
    public GSD() {
        NPCName="GSD";
    }
}
上一篇 下一篇

猜你喜欢

热点阅读