JavaScript is required

Làm thế nào để đoạn mã trên biên dịch thành công?
public abstract class Test {
public abstract void methodA();
public abstract void methodB()
{
System.out.printIn("Hello");
}
}

A.
Cài đặt cụ thể phần thân cho phương thức methodA()
B.
Thay thế từ khóa public ở dòng 2 thành private
C.
Xóa từ khóa abstract ở dòng 4
D.
Xóa từ khóa abstract ở dòng 2
Trả lời:

Đáp án đúng: C


Đoạn mã trên không biên dịch được vì phương thức `methodB()` được khai báo là `abstract` nhưng lại có phần thân (body) `{ System.out.printIn("Hello"); }`. Một phương thức `abstract` không được phép có phần thân. Để sửa lỗi này, chúng ta cần xóa từ khóa `abstract` ở dòng 4 để `methodB()` trở thành một phương thức bình thường có phần thân. * **Phương án A:** Cài đặt cụ thể phần thân cho phương thức `methodA()` sẽ chỉ giải quyết được lỗi liên quan đến `methodA()`, nhưng lỗi ở `methodB()` vẫn còn. * **Phương án B:** Thay thế `public` thành `private` không ảnh hưởng đến việc phương thức `abstract` có phần thân hay không. * **Phương án D:** Xóa từ khóa `abstract` ở dòng 2 sẽ khiến lớp `Test` không còn là lớp `abstract` nữa, điều này có thể không phù hợp với yêu cầu của bài toán. Ngoài ra, lỗi ở `methodB()` vẫn còn.

Câu hỏi liên quan