300 Câu hỏi trắc nghiệm lập trình Java có đáp án - Phần 2

Đoạn mã sau có lỗi biên dịch nào? class Student { public String sayHello() { return "Student"; } } public class Man extends Student { public String sayHello() { return "man"; } public static

31/49

Đoạn mã sau có lỗi biên dịch nào?
class Student {
public String sayHello() {
return "Student";
}
}
public class Man extends Student {
public String sayHello() {
return "man";
}
public static void main(String[] args) {
Man m = new Student();
System.out.println(m.sayHello());
}
}

Có lỗi biên dịch:Incompatible type, requiered Man, found Student.

Không có lỗi biên dịch. In ra màn hình "man"

Có lỗi biên dịch:access modified of sayHello in Student and Man are different

Không có lỗi biên dịch. In ra màn hình "student"

Giải thích

Chọn đáp án A.Vì:m thuộc lớp Man, nhưng lại dùng để trỏ đển đối tượng của Student mà Man không phải là lớp con của Student. Và access modified của cùng phương thức ở lớp con chỉ cần mạnh hơn hoặc bằng cảu lớp cha la được.