1. Câu hỏi
2. Phân tích
Đây là 1 câu hỏi không quá khó, nhưng nó cần sự hiểu biết sâu về hệ thống, hiểu về static code trong java. Xem tài liệu tham khảo ở đây
Giải thích: Khi ứng dụng chạy, JVM load class vào trong bộ nhớ, ở thời điểm đó static block được thực hiện. vì biểu thức 1/0 throws RuntimeException nên block code này sẽ throw java.lang.ExceptionInInitializerError. Mặc dù trong main method không trực tiếp gọi đến block code này.
Rất nhiều người nhầm tưởng hàm main sẽ được gọi trước.
Theo mình đây cũng là 1 câu hỏi khá hay để ôn lại kiến thức cơ bản.
Đáp án:
3. Kết luận
Bạn có thể gõ code vào IDE để chạy lại và kiểm tra Source cho câu hỏi