Đ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.
Đáp án chính xác
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"
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 trả lời này có hữu ích không?
0
0
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1:
: Có bao nhiêu kiểu dữ liệu ký tự cơ sở trong Java?