JavaScript is required

Đoạn mã sau có lỗi biên dịch nào?. Chọn một câu trả lời
class Student {
}
public class Man extends Student {
public static void main(String[] args) {
Man m = new Student();
}
}

A.
Không có lỗi biên dịch.
B.
Có lỗi biên dịch: Incompatible type, required Man, found Student.
C.
Có lỗi biên dịch:Incompatible type, required Student, found Man.
D.
Do not use extends to make subclass..
Trả lời:

Đáp án đúng: B


Trong Java, một đối tượng của lớp cha (lớp cơ sở) không thể được gán cho một biến tham chiếu của lớp con (lớp dẫn xuất). Trong đoạn mã này, `Student` là lớp cha và `Man` là lớp con. Dòng mã `Man m = new Student();` cố gắng gán một đối tượng `Student` cho một biến `Man`, điều này gây ra lỗi biên dịch vì không phải mọi `Student` đều là `Man`. Lỗi "Incompatible type, required Man, found Student" có nghĩa là trình biên dịch mong đợi một đối tượng thuộc kiểu `Man` nhưng lại nhận được một đối tượng thuộc kiểu `Student`.

Câu hỏi liên quan