隐式超级构造函数。必须显式调用另一个构造函数
Implicit super constructor. Must explicitly invoke another constructor
我刚刚进入我的 类 继承,这是我遇到的第一个错误。除了在错误部分抛出标题的构造函数外,大部分代码都可以正常工作。
public class CellDoor extends CellPassage {
// TODO: instance variable(s)!
private String imageOpen,imageClosed;
private boolean locked, occupied;
private Item item;
// Create a new cell in the dungeon with the specified image.
// The CellDoor class represents an door that can be closed (locked) or open.
// NOTE: an open door is allowed to hold an item (e.g. a gem or key).
public CellDoor(String imageOpen, String imageClosed, boolean locked) {
this.imageOpen = imageOpen;
this.imageClosed = imageClosed;
this.locked = locked;
}
cellPassage 构造函数是:
public CellPassage(String image) {
this.image = image;
}
有人可以给我一些建议吗?
您可能在 CellPassage
class 中有一个不是默认构造函数的构造函数。这意味着 Java 无法通过调用默认超级构造函数来创建您的 CellDoor
对象。您必须在构造函数主体的第一行添加一个 super(...)
,其中 ... 是 CellPassage
class.
中构造函数的参数
public CellDoor(String imageOpen, String imageClosed, boolean locked)
{
super(imageOpen);
this.imageOpen = imageOpen;
this.imageClosed = imageClosed;
this.locked = locked;
}
如果您提供来自 class CellPassage
的代码,我们将很容易确定您应该如何编写 CellDoor
构造函数
我刚刚进入我的 类 继承,这是我遇到的第一个错误。除了在错误部分抛出标题的构造函数外,大部分代码都可以正常工作。
public class CellDoor extends CellPassage {
// TODO: instance variable(s)!
private String imageOpen,imageClosed;
private boolean locked, occupied;
private Item item;
// Create a new cell in the dungeon with the specified image.
// The CellDoor class represents an door that can be closed (locked) or open.
// NOTE: an open door is allowed to hold an item (e.g. a gem or key).
public CellDoor(String imageOpen, String imageClosed, boolean locked) {
this.imageOpen = imageOpen;
this.imageClosed = imageClosed;
this.locked = locked;
}
cellPassage 构造函数是:
public CellPassage(String image) {
this.image = image;
}
有人可以给我一些建议吗?
您可能在 CellPassage
class 中有一个不是默认构造函数的构造函数。这意味着 Java 无法通过调用默认超级构造函数来创建您的 CellDoor
对象。您必须在构造函数主体的第一行添加一个 super(...)
,其中 ... 是 CellPassage
class.
public CellDoor(String imageOpen, String imageClosed, boolean locked)
{
super(imageOpen);
this.imageOpen = imageOpen;
this.imageClosed = imageClosed;
this.locked = locked;
}
如果您提供来自 class CellPassage
的代码,我们将很容易确定您应该如何编写 CellDoor
构造函数