Tôi đã viết một lớp java nhỏ mà tôi muốn tải bằng cách sử dụng ClassLoader.Công việc của ClassLoader loadClass()
public class ClassLoadingObj {
public ClassLoadingObj(){
System.out.println("---instantiating ClassLoadingObj ");
}
static{
System.out.println("---Loading ClassLoadingObj");
}
}
Nhưng khi tôi thực hiện đoạn mã sau:
ClassLoader.getSystemClassLoader().loadClass("com.st.classLoader.ClassLoadingObj");
tôi thấy rằng các khối tĩnh không được thực thi. Câu hỏi của tôi là nếu một lớp được nạp bằng cách sử dụng phương thức loadClass()
, tại sao các khối tĩnh không được thực thi so với việc khởi tạo một lớp nơi các khối tĩnh luôn được thực hiện.