Tôi có này đoạn mã sau:Tại sao các biến mẫu được khởi tạo trước khi hàm tạo được gọi là?
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;
}
}
Bây giờ trong giao diện điều khiển các System.out.println
của DataMap
constructor được thực hiện trước khi các nhà xây dựng của UCMService
.
Tôi đã tự hỏi tại sao nó đang xảy ra.
+1 đây là một câu trả lời hay :) – nachokk
Ahh ... Đây là siêu rõ ràng :) –
giải thích tuyệt vời. cảm ơn rất nhiều Rohit. –