我有我試圖操縱一個變量兩個班,作爲一個例子影響在不同的類變量在Java中
public class A {
public static void main(String[] args) {
while(game_over[0] == false) {
System.out.println("in the while-loop");
}
System.out.println("out of the while-loop");
}
static boolean[] game_over = {false};
}
和
public class B {
public boolean[] game_over;
public printBoard(boolean[] game_over) {
this.game_over = game_over;
}
public void run() {
for (int i = 0; i < 10; i++) {
// do something
}
game_over[0] = true;
System.out.println("GAME OVER");
}
}
提供並不意味着該代碼段要成爲實際可行的代碼,我更關心這個概念。在我的程序中,類A創建了一個利用類B的線程,並且我希望類B影響變量'game_over',這樣A類中的while循環會受到變化的影響......任何想法我都能成功更新變量?謝謝。
什麼是具有外部變量的意義呢?爲什麼不定義一個方法B.isGameOver()? –
@MauricePerry我不知道laroy的原因,但通常情況下,可能有很多組件可以決定遊戲結束,並且爲了避免A必須檢查每個可以做出該決定的組件,它實際上是一個好主意提供一個間接的級別。 –
@ErwinBolwidt好吧,在這種情況下,將它們傳遞給類GameStatus或GameMonitor的對象,而不是布爾值。 –