1: package a;
2: class A{protected int x;}
3: class B{
4: public void test(){
5: A a = new A();
6: a.x = 9;
7: System.out.println(a.x);
8: }
9:public static void 10:main(String[] agrs)
11: {
12: B b1=new B();
13: b1.test();
14: }
15: }
Khi chạy đoạn chương trình trên sẽ thông báo gì?
Chọn một Câu trả lời
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ì
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 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
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
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
Chọn đáp án A
Vì:
Lớp Man định viết đè sayHello() được viết ở Student, nhưng có kiểu dữ liệu trả về là int không thể chuyển thành String được.
Và sayHello() không được đánh dấu là final, nên có thể được ghi đè.
sayHello() ở cả hai lớp đều có cùng access modifier, điều này là hợp lệ.
Câu 3
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 4
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 5
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 6
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.