如下,要在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";
}
}
网友评论