簡體   English   中英

如何在類實例之間共享相同的變量?

[英]How to share the same variable between class instances?

(更新)所以我正在運行一個服務器並且我想要一定數量的客戶端連接,所以在客戶端類中每次客戶端連接時我都會增加一個計數器,但它似乎不起作用。 我正在嘗試在服務器端執行此操作,但仍然無法正常工作

 while(true){
        try{
            Socket clientSocket = serverSocket.accept();
            MortgageRunnable m = new MortgageRunnable(clientSocket);
            System.out.println("New player has connected!");
            if(!(connectedClients == maxPlayers)){
            new Thread(m).start();
            connectedClients++;}
            else{m.displayMessage("Max players connected");}

MortgageRunnable 基本上是線程,所以所有邏輯都在那里,這是函數 displayMessage():

public void displayMessage(String message) {
    try {
        PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
        out.println(message);
}catch(IOException e){
        e.getMessage();
    }

每次創建 Client 的新實例時,它都會重新初始化 numofPlayers 變量。

因此,我將假設您有另一個類正在創建這些客戶端實例,讓我們將其稱為 Main...我會將計數器存儲在生成客戶端的“Main”類中。 希望我正確理解你的情況。

class Main {
  public static void main(String[] args) {
    int numOfPlayers = 0;
    if (numOfPlayers < maxPlayers) {
      Client client = new Client();
      numOfPlayers++;
    }
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM