为什么实例变量在调用构造函数之前被初始化?
2022-09-02 19:22:51
						我有以下代码:
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.printlnDataMapUCMService
我想知道为什么会发生这种情况。