【发布时间】:2013-05-16 01:57:49
【问题描述】:
我一直在处理一个相当大的程序,并认为是时候拆分我的课程了。 1 个用于 GUI 代码的 .java 文件,以及 1 个用于 GUI 呈现的功能背后的机制的 .java 文件。但这是我的问题,我在彼此内部创建了每个类的实例,然后程序拒绝启动,所以我显然做错了什么。在我的RPG 类中,我有以下代码行:
public Mechanics mechanics = new Mechanics();
对于我的Mechanics 课程,我有这个代码:
public RPG rpg = new RPG();
我这样做的原因是为了尝试这个:
我的很多变量都在RPG 类中,我希望能够从我的rpg 调用它们并对其进行操作,然后将它们发送回RPG 这是我用来测试这个函数的代码(来自我的Mechanics 班级):
class Mechanics{
public RPG rpg = new RPG();
public Mechanics(){
}
public void helloWorld(){
System.out.println("Hello World!");
System.out.println("Health before:"+rpg.Health);
rpg.Health = rpg.Health - 5;
System.out.println("Health after:"+rpg.Health);
}
}
是的,Health 是我的 RPG 类中的公共 int。
在我的RPG 课程中,这是我用来测试我的Mechanics 课程的代码:
mechanics.helloWorld();
这是我的问题:代码可以编译,但是当我尝试运行它时,我得到了这个错误:
at Mechanics.<init>(Mechanics.java:15)
at RPG.<init>(RPG.java:127)
这是我的问题。我这样做对吗?我的代码有什么问题导致我的程序不想运行?
添加:我也尝试将我的其他类称为private,程序将编译,但仍然拒绝启动,并给我同样的错误
Mechanics 的第 15 行:
public RPG rpg = new RPG();
RPG 的第 127 行:
public Mechanics mechanics = new Mechanics();
【问题讨论】:
-
你能告诉我们完整的堆栈跟踪吗?您似乎没有包含异常的名称。
-
这就是控制台提供给我的所有内容,我将添加一个图像来帮助你们。我什至滚动到控制台的顶部,这就是它所说的全部
-
如果错过了异常的名称,那么错误一定是一个损坏的 java/eclipse 文件。也许 jvm 出了问题。
-
啊,如果我见过一个堆栈溢出的话!
-
您还可以向我们展示 Mechanics.java 中第 15 行的内容以及 RPG.java 中第 127 行的内容。
标签: java class variables public