我這下面的一段代碼:爲什麼變量在調用構造函數之前被初始化?
public abstract class UCMService{
private String service;
protected DataMap dataMap = new DataMap();
protected class DataMap extends HashMap<String,String> {
private static final long serialVersionUID = 4014308857539190977L;
public DataMap(){
System.out.println("11111");
put("IdcService",service);
}
}
public UCMService(String service){
System.out.println("2222");
this.service = service;
}
}
現在,在控制檯System.out.println
DataMap
的構造函數的UCMService
的構造函數之前執行。
我想知道爲什麼會發生。
+1這是一個很好的答案:) – nachokk
啊......這是超級清晰:) –
精彩的解釋。非常感謝Rohit。 –