設計に関する質問があります。簡単な例で説明します。
Public class A()
{
public static HashMap map = new HashMap();
public static String url = "default";
static {
getJson();
}
//url getters and setters are defined
public static getJson() {
//code which uses url to get json and populate hashmap
}
public string getresult(String key) {
//uses hashmap to send result.
}
jsonを1回だけ取得したいので、静的初期化ブロックを使用しています。
public class B {
//ここでURLを変更し、getJsonメソッドを呼び出します。A.setUrl()を呼び出すと、urlを設定する前に、静的初期化ブロックでA.getJson()メソッドが呼び出されます。最初にurlを設定してから、getJson()を呼び出すにはどうすればよいですか。
//is this a bad design?
}