khoahoc.vietjack.com

Câu hỏi:

11/06/2026 70 Lưu

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

A.

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

can not find symbol test.Student

B.

Không có lỗi biên dịch.

C.

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

Add import java.school.Student

D.

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

can not find constructor Student() for Student.

Quảng cáo

Trả lời:

verified Giải bởi Vietjack

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.

Đang tải chế độ Học...

Hot: 1000+ đề thi giữa kì 1 lớp 1-12 đầy đủ các môn (Update 2026) (chỉ từ 60k). Tải ngay

ĐẶC QUYỀN VIP

Đăng ký VIP để học và luyện thi không giới hạn

Trọn bộ quyền lợi trên Vietjack, trong một tài khoản.

  • Phòng luyện thi cấp tốc: ĐGNL - ĐGTD, Tốt nghiệp THPT, Ôn vào 10, Ôn vào 6, Ôn Giữa kì/Cuối kì
  • Hơn 200K đề thi thử, đề minh hoạ, chính thức các năm
  • Với 3tr+ câu hỏi theo các mức độ Nhận biết, Thông hiểu, Vận dụng
  • Tải xuống đề thi [DOCX] với đầy đủ đáp án
  • Xem hàng ngàn bài giảng đính kèm củng cố thêm kiến thức
  • Bao gồm tất cả các bậc từ Tiểu học đến Đại học
  • Chặn hiển thị quảng cáo tăng khả năng tập trung ôn luyện
  • Đăng ký ngay

CÂU HỎI HOT CÙNG CHỦ ĐỀ

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.

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

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.

Nâng cấp VIP

Câu 4

A.

void printArray(int a[], int size){}

B.

void printArray(int a[size], int size){}

C.

void printArray(int a[], int){}

D.

void printArray(int a[size]){}

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.

Nâng cấp VIP

Câu 5

A.

foo có giá trị là 0.

B.

foo có giá trị là null.

C.

foo có giá trị là true.

D.

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.

Nâng cấp VIP

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.

Nâng cấp VIP