gpt4 book ai didi

java - 隐式 super 构造函数。必须显式调用另一个构造函数

转载 作者:行者123 更新时间:2023-12-01 10:21:08 25 4
gpt4 key购买 nike

我刚刚开始在我的类中使用继承,这是我遇到的第一个错误。除了在错误部分抛出标题的构造函数之外,大多数代码都可以正常工作。

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 类中有一个不是默认构造函数。这意味着 Java 无法通过调用默认的 super 构造函数来创建您的 CellDoor 对象。您必须在构造函数主体的第一行添加一个 super(...) ,其中 ... 是 CellPassage 类中构造函数的参数。

public CellDoor(String imageOpen, String imageClosed, boolean locked)
{
super(imageOpen);
this.imageOpen = imageOpen;
this.imageClosed = imageClosed;
this.locked = locked;
}

如果您提供 CellPassage 类中的代码,我们将轻松确定您应该如何编写 CellDoor 构造函数

关于java - 隐式 super 构造函数。必须显式调用另一个构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35610980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com