Cho hai lớp Student và Main như sau:
package java.school;
public class Student {}
--
package java.test;
public class Main {
public static void main(String[] args) { java.school.Student s = new Student();
}
}
Khi biên dịch lớp Main có lỗi biên dịch không? Nếu có là lỗi nào sau:
Chọn một Câu trả lời
Có lỗi biên dịch:
can not find symbol test.Student
Không có lỗi biên dịch.
Có lỗi biên dịch:
Add import java.school.Student
Có lỗi biên dịch:
can not find constructor Student() for 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ì:
Lớp Student không ở package java.test mà ở java.school, và bạn lại không import vào gói java.test, nên trình biên dịch tìm lớp Student ở cùng package java.test khi bạn không chỉ rõ lớp Student thuộc package nào. Nên khi khai báo biến s thuộc lớp java.school.Student thì đúng, nhưng khi gọi phương thức khởi tạo thì bạn lại không chỉ rõ, nên trình biên dịch sẽ tìm ở java.test. Nhưng không có.
Add import java.school.Student : là một gợi ý, chứ không phải lỗi biên dịch.
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
10
11
10
10
11
11
Không in gì và báo lỗi
Lời giải
Chọn đáp án B
Vì:
+ Lệnh đầu tiên trong hàm main() sẽ sinh ra đối tượng s từ lớp Man.
+ Lệnh thứ 2 của hàm main sẽ gọi phương thức getAge() của đối tượng s, tuy nhiên s kế thừa từ lớp Student do đó sẽ triệu gọi phương thức getAge của lớp Student => in ra 10
+ Lệnh thứ 3 của hàm main() sẽ gọi phương thức getAge() của đối tượng s => gọi đến phương thức getAge() của lớp Student => in ra 10
Câu 2
s.setMark("10");
s.setMark(10);
s.mark=10;
s.mark="10"
Lời giải
Chọn đáp án A
Vì:
Phương thức này nhận xâu "10" và thay đổi thuộc tính mark của s.
Đáp án s.setMark(10); sai vì truyền số 10 thuộc int vào phương thức setMark, mà setMark yêu cầu đầu vào là String.
Đáp án s.mark=10 và s.mark="10"
là sai vì mark có mức truy xuất là private.
Câu 3
foo có giá trị là 0.
foo có giá trị là null.
foo có giá trị là true.
foo có giá trị là false.
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
4,4
4,5
5,4
Lỗi biên dịch
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.
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
float f2[] = new float[];
float[] f1 = new float[3];
float f3[] = new float[3];
float f5[] = { 1.0f, 2.0f, 2.0f };
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.