gpt4 book ai didi

java - 可以在java中使用setter跨类

转载 作者:行者123 更新时间:2023-12-01 07:49:48 25 4
gpt4 key购买 nike

我正在尝试从扫雷游戏的另一个类访问对象 setter ,并且不确定这是否确实可行。

本质上,我有一个 Board 类,其中包含设置板的所有逻辑,在我的 main 方法中,我想提示用户输入一个 int,然后将该值传递给 Board.setHealth()

我的主要方法(包含在 Mines.java 中)的提示如下

if (keyboard.nextInt() < 1) {
throw new Exception("Number must be higher than 0!");
}
else health = keyboard.nextInt();
Board.setHealth(health);

在我的Board.java构造函数我声明 2 个整数,startHealth(1)health(not yet defined)

我的板子setHealth方法如下

  public void setHealth(int health){
this.health = health;
}

现在,我遇到的错误是

non-static method setHealth(int) cannot be referenced from a static context

我的理解是,我正在尝试在尚未实例化的对象上设置 Health(这是我在没有使用 setter 方法的不同阶段中遇到的错误),那么我如何重新设计我的方法允许这样做吗?

最佳答案

您首先通过调用其构造函数来实例化您的 Board 类

Board board = new Board();

然后就可以使用这个对象来设置值

board.setHealth(health);

您的代码将是

Board board = new Board();
if (keyboard.nextInt() < 1) {
throw new Exception("Number must be higher than 0!");
}
else {
health = keyboard.nextInt();
board.setHealth(health);
}

关于java - 可以在java中使用setter跨类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40337789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com