200+ câu trắc nghiệm Java cơ bản có đáp án - Phần 3

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 = ne

1/31

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.

Giải thích

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.