我是 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/