【发布时间】:2026-01-31 16:20:03
【问题描述】:
我正在制作一个小文字游戏。开始对话在我的主要(静态)方法中。从那里,它会根据您的选择将您发送到其他方法。
现在我想我需要一个我的类的实例才能工作。
例如:
Program p = new Program();
if(stuff){
p.room1();
}
else{
p.room2();
}
在这些其他方法中,全局变量会发生变化。
所以上面的主要方法有:
public bool hasItem = false;
所以 room1() 看起来像,
public void room1(){
if(stuff){
p.hasItem = true;
}
}
我知道我在用 main 方法搞砸了。我是在主方法内部还是外部声明实例“p”?我都尝试过,但两种方式都会出错。
编辑:我最终在主要方法之外声明了一个静态“程序”以在其他地方使用。感谢您的帮助!
【问题讨论】:
-
我根本没有关注你的问题。问题是你不知道在哪里声明
hasItem?我建议您将其声明为对象的成员变量,该对象代表实际具有 item的事物(房间、世界、玩家等)。 -
我认为这就是我在方法之外声明它所做的。不是这样吗?