Đ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"; } pub...

Câu hỏi :

Đ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());
}
}

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

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

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

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

* Đáp án

* Hướng dẫn giải

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.

Câu hỏi trên thuộc đề trắc nghiệm dưới đây !

200 Câu hỏi trắc nghiệm lập trình Java có đáp án !!

Số câu hỏi: 199

Copyright © 2021 HOCTAP247