簡體   English   中英

全局字符串變量的Java聲明

[英]Java declaration of global string variables

我正在編寫服務器程序和客戶端程序。 我將服務器代碼文件命名為server.java。 客戶端從不同的計算機運行。 客戶端可以做的一件事就是將文件上傳到服務器。 我希望服務器將上傳的文件存儲在與server.java程序文件位於同一目錄的文件夾中。 所以我使用了以下代碼:

String server_files_location = getClass().getProtectionDomain().getCodeSource().getLocation().getPath();

這確實有效。 但是我必須在我寫的所有不同類中分別聲明這個變量。 我想讓它成為一個全局字符串變量,這樣我每次添加新的類或方法時都不必聲明它。

所以在程序開始時我嘗試了:

public static String server_files_location = getClass().getProtectionDomain().getCodeSource().getLocation().getPath(); 

這給了我一個錯誤說Cannot make a static reference to the non-static method getClass() from the type Object

我怎樣才能讓這個變量在全球范圍內可訪問?

使用您聲明變量的類中的類文字。

public static String server_files_location =
    YourClass.class.getProtectionDomain().getCodeSource().getLocation().getPath(); 

如果變量是常量並且永遠不會改變,請考慮將變量final 此外,正常的Java變量命名約定會說以駝峰serverFilesLocation命名變量,例如serverFilesLocation ,或者如果它是常量,則在ALL CAPS中,例如SERVER_FILES_LOCATION

在變量聲明中刪除static 如果變量和實例都是公共的,那么所有實例都能夠訪問一個實例的副本。

暫無
暫無

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

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