您应该做什么:
在您的超类中添加一个构造函数:
public Superclass { public SuperClass(String flavour) { // super class constructor this.flavour = flavour; }}
在Crisps类中:
public Crisps(String flavour, int quantity) { super(flavour); // send flavour to the super class constructor this.quantity = quantity;}
注释
对您的问题的一些评论:
“在超类中,我已经用”
private String flavour;
这不是初始化,而是声明。初始化是在您设置值时。
“我收到一个错误“味道在超类中具有私有访问权限”,但是我认为这不重要,因为我正在调用将其返回到字段的访问器方法?”
当您调用访问器(也称为吸气剂)时,可以-取决于吸气剂的可见性。您的代码中的问题是:
this.flavour =
因为味道不是在Crisps类上声明的字段,而是在supper类上声明的字段,所以您不能像这样直接访问。您应该使用我的建议或在 超类
上声明一个setter :
public void setFlavour(String flavour) { this.flavour = flavour;}
然后可以在子类上使用它:
public Crisps(String flavour, int quantity) { this.quantity = quantity; super.setFlavour(flavour);}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)