JavaScript is required

Đoạn mã sau có lỗi biên dịch KHÔNG? Nếu có là lỗi nào sau?
class Student {}
public class Man extends Student {
public boolean isMan() {
return true;
}
}

A.
Không có lỗi biên dịch
B.
Có lỗi biên dịch:class Student is empty.
C.
Có lỗi biên dịch:class Man has no constructor.
D.
Có lỗi biên dịch:class Student is empty, class Man has no constructor.
Trả lời:

Đáp án đúng: A


Đoạn mã trên không có lỗi biên dịch. * `class Student {}` định nghĩa một lớp `Student` rỗng. Việc một lớp không có thuộc tính hoặc phương thức là hoàn toàn hợp lệ trong Java. * `public class Man extends Student { ... }` định nghĩa một lớp `Man` kế thừa từ lớp `Student`. Việc kế thừa một lớp rỗng không gây ra lỗi. * Lớp `Man` không có constructor được định nghĩa rõ ràng, nhưng Java cung cấp một constructor mặc định (default constructor) không tham số nếu không có constructor nào được định nghĩa. Do đó, việc thiếu constructor không gây ra lỗi. * Phương thức `isMan()` đơn giản trả về `true`, và không có vấn đề gì với phương thức này. Vì vậy, không có lỗi biên dịch trong đoạn mã này.

Câu hỏi liên quan