如何从Java中的其他类调用变量?

  • 本文关键字:调用 变量 其他 Java java
  • 更新时间 :
  • 英文 :


我目前正在使用OOP重新制作一款基于文本的RPG游戏。我想知道如何从其他类调用变量。目前,我的程序给了我一个错误,因为它无法解析符号&;playerhealth &;就像在另一门课上一样。下面的类是battlessequence类,我想把变量命名为playerhealth。在Player类中。我该怎么做呢?

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

while (playerHealth > 0) {
System.out.println("---------------------------");
}
}
}

您没有在这里显示其他类,但我假设您正在尝试这样做:

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而不是直接访问字段。同样,你显然想要使用比我在这里使用的SomeClassmyClass更有意义的名称。选择一些对你的程序有意义的名称,而不是我使用的通用名称。

您可以为您的变量创建一个getter或使其静态并像<class-name>.playerHealth那样访问它

最新更新