Java访问另一个类不工作

Java访问另一个类不工作,java,class,variables,methods,Java,Class,Variables,Methods,我正在制作一个游戏,需要一个更新类来访问游戏类,一个主类来访问这两个类。我遇到的问题是,我需要更新类具有游戏类的更新对象,但每当我尝试从更新类访问游戏类时,我都会出错[错误发生在newGame.test();] 如果这帮不了什么忙,我很抱歉,但这是我第一次在这里回答问题 我将您的代码放在一个测试项目中,以查看问题所在,您似乎有一些错误 我将从主类开始,因为它有最小的问题 您不需要在此处声明scanner对象,因为它从未使用过。您只是将内存分配给一个空对象 现在,进入更新类 同样,无需在此声明扫描

我正在制作一个游戏,需要一个更新类来访问游戏类,一个主类来访问这两个类。我遇到的问题是,我需要更新类具有游戏类的更新对象,但每当我尝试从更新类访问游戏类时,我都会出错[错误发生在newGame.test();]


如果这帮不了什么忙,我很抱歉,但这是我第一次在这里回答问题

我将您的代码放在一个测试项目中,以查看问题所在,您似乎有一些错误

我将从主类开始,因为它有最小的问题

您不需要在此处声明scanner对象,因为它从未使用过。您只是将内存分配给一个空对象

现在,进入更新类

同样,无需在此声明扫描仪

要使用对象“newGame”,您需要确保使用构造函数:

public Updates(Game newGame){
    this.newGame = newGame;
}
而不是:

public Updates(){

}
因为后者不会为您设置游戏对象,并且在您访问它时,您将获得一个空指针

最后,游戏类:

我会将Scanner和Updates对象都设置为私有对象,因为它们从未在类外使用过。如果是,请利用

在游戏构造函数中,您实际上可以创建GetUpdate和input对象,如下所示:

public Game() {
    this.input = new Scanner(System.in);
    this.getUpdates = new Updates(this);
}
这样,每当你的游戏初始化时,你就可以随时准备好它们。如你所见,我把

new Updates(this)
它使用我前面提到的更新构造函数。这将最终解决您的问题

以下是我使用/编辑的文件,供我参考:


您得到了什么错误/?顺便说一句,在两个类别中都不需要使用两个扫描仪我猜是一个NPE,因为没有
Game
被传递到
Updates
@DaveNewton。我该如何解决这个问题?在构造函数中将
Game
传递到
Updates
?非常感谢!因为我是java新手,我从未意识到这些问题,我将尝试新代码并编译它,看看会发生什么。
new Updates(this)