[英]How do I call variables from other classes in 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("---------------------------");
}
}
}
您沒有在這里展示您的其他課程,但我假設您正在嘗試執行以下操作:
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
更有意義的名稱。 選擇對你的程序有意義的東西,而不是我使用的通用名稱。
您可以為您的變量創建一個 getter 或將其<class-name>.playerHealth
靜態並像<class-name>.playerHealth
一樣訪問它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.