首页 > 解决方案 > 如何从 Java 中的其他类调用变量?

问题描述

我目前正在重新制作我使用 OOP 开发的基于文本的 RPG 游戏之一。我想知道如何从其他类调用变量。目前,我的程序给了我一个错误,因为它无法解析符号“playerHealth”,因为它在另一个类中。我下面的类是 BattleSequence 类,我想称之为“playerHealth”的变量在 Player 类中。我该怎么做呢?

public class BattleSequence {
    public static void main(String agrs[]) {
        System.out.println("Welcome to the dungeon!");
   
        while (playerHealth > 0) {
            System.out.println("---------------------------");
        }
    }
}

标签: java

解决方案


您没有在这里展示您的其他课程,但我假设您正在尝试执行以下操作:

public class SomeClass
{
   public int playerHealth = 10; // Or some number
}

public class BattleSequence {
    public static void main(String agrs[]) {
        System.out.println("Welcome to the dungeon!");
   
        while (playerHealth > 0) {
            System.out.println("---------------------------");
        }
    }
}

为此,您必须实际创建一个实例SomeClass

public class BattleSequence {
    public static void main(String agrs[]) {
        System.out.println("Welcome to the dungeon!");

        SomeClass myClass = new SomeClass();
   
        while (myClass.playerHealth > 0) {
            System.out.println("---------------------------");
        }
    }
}

这是一个类比:假设你想吃一些巧克力曲奇。你绝对不能只看食谱就拿一些——你实际上必须用食谱来做一些饼干。我在这里稍微简化了一点(例如,通过忽略静态变量),但这基本上就是类的工作方式——类本身并没有真正任何事情。它们只是制作物品的“配方”。在您实际创建对象之前,类中的变量实际上并不存在。

一些快速说明:您可能需要考虑使用getter 和 setter,而不是直接访问该字段。SomeClass此外,您显然希望使用比myClass我在这里使用的更有意义的名称。选择对你的程序有意义的东西,而不是我使用的通用名称。


推荐阅读