java - 在 Java 中,如何让不同行中的两个类相互交互?

标签 java arrays class

我是 Java 新手,我正在制作一个基于文本的冒险游戏。在我的游戏中,有多个房间,每个房间都有一系列元素。我有一个名为“门”的类,我希望房间 A 有一个门通向房间 B,反之亦然。但是当我这样做时:

    public room A = new room(new items[] {
new door(B)});
    public room B = new room(new items[] {
new door(A)});

我收到错误消息“在定义字段之前无法引用字段”(我使用的是 Eclipse)。

有办法让这个工作成功吗?

我知道这意味着它不能告诉一个类在定义该类之前执行某些操作,但我不知道如何修复它。

最佳答案

创建房间后,您需要添加项目。这意味着您需要在 room 中编写一个 addItem 方法。

public room A = new room();
public room B = new room();

{ // this is the start of an "instance initializer"; it runs before any constructors (but after field initializers)
    // if you have a constructor, you could choose to put this in the constructor instead; personal preference
    A.addItem(new door(B));
    B.addItem(new door(A));
}

关于java - 在 Java 中,如何让不同行中的两个类相互交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28595160/

相关文章:

php - PHP 中的 list() 函数,它是否完全等于表达式第一个括号中的括号?

python - 尝试在其自己的类变量部分中使用类的名称时出现问题

c++ - 防止成员函数被单独调用

java - 使用字符串的控制流结构的问题

JavaScript:我们如何根据一个数组/向量长度创建尽可能多的对象?

javascript - 具有重复结构的数组

swift - 您只能将计算变量与 setter 和 getter 一起使用来覆盖父类(super class)的存储属性

java - JApplet 在浏览器中缺乏完整功能

java - 适配器没有显示任何内容

java - javafx 中无法访问按钮处理程序中的变量