JavaScript is required

Chọn câu phát biểu đúng:

A.

Một lớp trừu tượng không thể chứa phương thức final

B.

Một lớp final không thể chứa các phương thức trừu tượng

C.

Cả hai đều đúng

D.
Cả hai đều sai
Trả lời:

Đáp án đúng: B


**Phân tích:** * **Lớp trừu tượng (Abstract class):** Là lớp không thể khởi tạo trực tiếp, dùng để định nghĩa các thuộc tính và phương thức chung cho các lớp con. Lớp trừu tượng có thể chứa các phương thức trừu tượng (abstract method - không có phần thân, phải được hiện thực ở lớp con) và các phương thức thông thường (có phần thân). * **Lớp final:** Là lớp không thể kế thừa. Tất cả các phương thức trong lớp final mặc định là final, tức là không thể ghi đè (override) trong lớp con. **Đánh giá các phương án:** * **A. Một lớp trừu tượng không thể chứa phương thức final:** Sai. Một lớp trừu tượng hoàn toàn có thể chứa phương thức final. Phương thức final trong lớp trừu tượng không thể bị ghi đè trong các lớp con, nhưng lớp con vẫn phải kế thừa và sử dụng nó. * **B. Một lớp final không thể chứa các phương thức trừu tượng:** Đúng. Một lớp final không thể kế thừa, do đó không thể có lớp con nào hiện thực các phương thức trừu tượng (abstract method) của nó. Nếu một lớp vừa là final, vừa có phương thức trừu tượng, thì sẽ không có cách nào để hiện thực phương thức trừu tượng đó, gây ra lỗi. * **C. Cả hai đều đúng:** Sai vì A sai. * **D. Cả hai đều sai:** Sai vì B đúng. **Vậy đáp án đúng là B.**

Câu hỏi liên quan