200+ câu trắc nghiệm Java cơ bản có đáp án - Phần 4

Đ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 vo

16/20

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

}

}

Chọn một Câu trả lời

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.