java - 如何访问由构造函数创建的对象变量

标签 java fxml

我有 2 个按钮,其中 1 个使用 round1rock 中的构造函数类,而另外 1 个则尝试访问这些参数。我的代码有什么问题吗?

构造函数类

public ROCK(int hp, int stamina, int attack, int speed, String type){
   this.hp=hp;  
   this.stamina= stamina;
   this.attack= attack;
   this.speed = speed;
   this.type = type;
}

2 个按钮:

private void continueRound1 (ActionEvent event){
       ROCK round1Rock= new ROCK( 500, 100, 100, 100, "Metamorphic");
    }
    private void Attack (ActionEvent event){
        round1Rock.hp = 12;

    }

如何访问之前创建的对象?

最佳答案

当你定义

private void continueRound1 (ActionEvent event){
   ROCK round1Rock= new ROCK( 500, 100, 100, 100, "Metamorphic");
}

您仅为函数 continueRound1 定义 ROCK round1Rock。 为了让 Attack 访问该对象,您需要在类级别定义 round1Rock

尝试:

ROCK round1Rock = null;

private void continueRound1 (ActionEvent event){
  round1Rock= new ROCK( 500, 100, 100, 100, "Metamorphic");
}
private void Attack (ActionEvent event){
    round1Rock.hp = 12;

}

关于java - 如何访问由构造函数创建的对象变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55757437/

相关文章:

Java数据库查询语句返回null

java - 如何向数组添加新条目?

JPanel 之上的 Java JPanel(绘图之上绘图)

注入(inject)到我的 Controller 类的 JavaFx @FXML Pagination 无法修改

java - 如何在具有两个场景的 JavaFXML Controller 中初始化圆形对象的双数组?

java - 将参数类型绑定(bind)到多个候选者之一

java - Android:Hashmap并发修改异常

javafx 在适当的 Controller 类中使用 MainController 或其他 Controller 中的对象

JavaFX:getWidth() 和 getLayoutBounds() 返回 0

java - 是否可以将包含自定义 JavaFX 控件的 JAR 导入到 Scene Builder 中?