JavaScript is required

Khai báo nào sau đây là khai báo hợp lệ của một lớp abstract?

A.

abstract class Vehicle { abstract void display(); }

B.

class Vehicle { abstract void display(); }

C.

abstract class Vehicle { abstract void display(System.out.println("Car"); }

D.

abstract Vehicle { abstract void display(); }

Trả lời:

Đáp án đúng: A


Đáp án đúng là A. abstract class Vehicle { abstract void display(); } Giải thích: * **Từ khóa `abstract`:** Một lớp abstract phải được khai báo bằng từ khóa `abstract`. Điều này cho phép lớp có thể chứa các phương thức abstract (phương thức không có phần thân, chỉ có khai báo). Các lớp kế thừa từ lớp abstract phải hiện thực (override) các phương thức abstract này, trừ khi lớp con cũng là một lớp abstract. * **Cú pháp phương thức abstract:** Phương thức abstract cũng phải được khai báo bằng từ khóa `abstract` và không có phần thân (không có cặp ngoặc nhọn `{}`). Nó kết thúc bằng dấu chấm phẩy (;). * **Các lựa chọn khác không đúng vì:** * B: Lớp `Vehicle` không được khai báo là `abstract`, nhưng lại chứa phương thức `abstract void display()`. Điều này không hợp lệ. * C: Trong phương thức abstract, không được phép có phần thân (ví dụ: `System.out.println("Car")`). * D: Thiếu từ khóa `class` sau `abstract`.

Câu hỏi liên quan