試圖想出一個好的策略來解決我的問題。問題是我有一個包含私有構造函數和靜態方法的最終類。爲了使用任何靜態方法,我必須初始化類的一個實例。因爲我在構造函數中有方法需要的數據才能起作用。具有靜態方法和私有構造函數的final類?
那麼,爲什麼我要使方法靜態?因爲1)項目非常大,我需要例如MyClass.AccessThis()和2)比創建實例並調用方法更容易。
編輯:我的意思是2)是如果我把我所有的方法都變成非靜態的公共構造函數,那麼我可以在任何類中創建一個類的實例並使用我的方法。
編輯2:所以在這裏。
public final class StackOverFlow {
private static Map<String, String> map = new HashMap<String, String>();
private StackOverFlow() {
map.put("hello", "hello");
}
public static String getHello() {
return map.get("hello");
}
}
如果我通過StackOverFlow.getHello()調用另一個類的方法,我無法明確地獲取數據;因爲數據不存在。
我想知道有沒有什麼好的方法來獲取數據而不把數據放在靜態方法中?
請張貼您的代碼。 – Timo
*因爲我在構造函數中有[static]方法需要的數據* - 您打算如何從* static *方法訪問該實例數據?你的問題不是很清楚,因爲它似乎基於一個不可能的前提。 –
我很確定你正在做面向對象編程錯誤...:D –