Cho đoạn mã sau. Chọn câu đúng
A.
Dòng 6 sẽ không biên dịch; cần phải có phép ép kiểu để chuyển từ kiểu Racoon sang kiểu Washer
B.
Dòng 7 sẽ không biên dịch; cần có phép ép kiểu để chuyển từ kiểu Washer sang kiểu SwampThing
C.
Đoạn mã sẽ biên dịch nhưng sẽ phát sinh Exception ở dòng 7 vì chuyển đổi kiểu khi thực thi từ interface sang class là không được phép
D.
Đoạn mã sẽ biên dịch và sẽ phát sinh Exception ở dòng 7 vì kiểu lớp của w tại thời điểm thực thi không thể chuyển sang kiểu SwampThing
Trả lời:
Đáp án đúng: B
Đoạn mã không được cung cấp. Tuy nhiên, dựa vào các đáp án, ta có thể suy luận câu hỏi liên quan đến việc ép kiểu (casting) trong Java (hoặc một ngôn ngữ tương tự). Dòng 7 được nhắc đến nhiều nhất, và các lỗi liên quan đến việc ép kiểu giữa interface và class, cũng như việc ép kiểu không hợp lệ tại runtime (thời gian chạy).
Đáp án 4 có vẻ hợp lý nhất: "Đoạn mã sẽ biên dịch và sẽ phát sinh Exception ở dòng 7 vì kiểu lớp của w tại thời điểm thực thi không thể chuyển sang kiểu SwampThing". Điều này có nghĩa là, tại thời điểm biên dịch, trình biên dịch (compiler) thấy rằng việc ép kiểu là có thể (về mặt cú pháp). Tuy nhiên, khi chương trình chạy, đối tượng thực tế mà `w` đang tham chiếu đến không phải là một `SwampThing`, hoặc không thể được chuyển đổi một cách an toàn sang `SwampThing`. Điều này dẫn đến một ngoại lệ (exception) ClassCastException tại runtime.
Tổng hợp 350 câu hỏi trắc nghiệm môn lập trình mạng có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.
50 câu hỏi 60 phút
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
