Đ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"
Câu hỏi trong đề: 200+ câu trắc nghiệm Java cơ bản có đáp án !!
Quảng cáo
Trả lờ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.
Hot: 1000+ Đề thi cuối kì 2 file word cấu trúc mới 2026 Toán, Văn, Anh... lớp 1-12 (chỉ từ 60k). Tải ngay
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1
s.setMark(10);
s.setMark(10.0);
s.mark=10;
s.mark=10.0;
Lời giải
Chọn đáp án A
Vì:
Phương thức này nhận 10 là số nguyên và thay đổi thuộc tính mark của s.
s.setMark(10.0); sai vì truyền số 10.0 thuộc float vào phương thức setMark, mà setMark yêu cầu đầu vào là int.
mark có mức truy xuất là private nên phương thức s.mark=10; và s.mark=10.0; là sai
Câu 2
Chương trình lỗi dòng 7
x = 9
Chương trình lỗi dòng 6
x không nhận giá trị gì
Lời giải
Chọn đáp án B
Vì:
+ Lớp A và lớp B trong cùng một package, lớp B sinh ra một đối tượng a của lớp A và thiêt lập thuộc tính x của a là 9 (Điều này hoàn toàn thực hiện được vì x là protected) => in ra giá trị 9
Câu 3
Có lỗi biên dịch:sayHello() in Man cannot override sayHello() in Student return type int is not compatible with java.lang.String
Không có lỗi biên dịch.
Có lỗi biên dịch:sayHello() in Man cannot override sayHello() in Student because it is final
Có lỗi biên dịch:sayHello() in Man and in Student has the same access modifier
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Câu 4
Có lỗi biên dịch incorrect package
Có lỗi biên dịch vì Student is empty
Không có lỗi biên dịch
Có lỗi biên dịch package must be java
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Câu 5
Không có lỗi biên dịch.
name has protected access.
age has protected access.
name has public access.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Câu 6
Mảng có thể lưu giữ các phần tử thuộc nhiều kiểu dữ liệu khác nhau
Chỉ số của mảng có thể sử dụng kiểu số thực (float, double)
Biểu thức array.length được sử dụng để trả về số phần tử trong mảng
Một phần tử của mảng không thể truyền vào trong một phương thức.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Câu 7
Không có lỗi biên dịch.
Có lỗi biên dịch: getAge() has in Man can not have weaker same access modifier than in Student.
Có lỗi biên dịch:call to super, must be the first in constructor in class Man.
Có lỗi biên dịch: getAge() in Student and Man can not have the same access arguments.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.