簡體   English   中英

創建全局變量-Java

[英]Creating global variables - Java

我收到此代碼的編譯錯誤:

public class Matching {        
    public static int match = (int) Math.floor(Math.random()*cities.size()); //Error is here
}

我想使“匹配”成為全局變量。

我的編譯錯誤是:

“內部類testingProgram.Matching修飾符'static'中的非法靜態聲明僅在常量變量聲明中允許

在初始化期間使用靜態非最終變量。”

不知道錯誤意味着什么,也不知道如何解決。

發生這種情況是因為您的Matching類位於另一個名為testingProgram類中,並且不是static

Java僅在內部類本身為static時才允許在內部類內部使用static字段。 您可以通過以下幾種方法解決此問題:

  • 通過使Matching成為static內部類,
  • 通過Matching頂級課程,或
  • 通過使static int match final,即final static int match

在某個靜態類(例如main)中創建變量,並確保將其傳遞給此類的構造函數。 我不知道您為什么要這樣做,但之所以困難是因為這不是一個好主意。 如果您需要保存“匹配”狀態,請提供更多信息。

public static void main() {
    int match;
    Matching m = new Matching(match);
}

暫無
暫無

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

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