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

Đoạn mã sau có lỗi biên dịch KHÔNG? Nêu KHÔNG thì in ra màn hình kết quả nào? class Student { String sayHello() { return "Student"; } } public class Man extends Student { protected String say

30/50

Đoạn mã sau có lỗi biên dịch KHÔNG? Nêu KHÔNG thì in ra màn hình
kết quả nào?
class Student {
String sayHello() {
return "Student";
}
}
public class Man extends Student {
protected String sayHello() {
return "man";
}
public static void main(String[] args) {
Student s = new Man();
System.out.println(s.sayHello());
}
}

Có lỗi biên dịch.

Student

Man

Student Man

Giải thích

Chọn đáp án A. Vì: phương thức sayHello() có mức truy xuất ở lớp Student là default, nhưng ở lớp con(Man) lại có mức truy xuất yếu hơn(Không cho phép điều này).