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");
}
}
public abstract class Test {
public abstract void methodA();
public abstract void methodB()
{
System.out.printIn("Hello");
}
}
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

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
