package java.school; public class Student {} -- package java.test; public class Main { public static void main(String[] args) { java.school.Stud

package java.school;
public class Student {}
--
package java.test;
public class Main {
public static void main(String[] args) {
java.school.Student s = new java.school.Student();
}
}</blockquote>
Cho hai lớp Student và Main như sau. 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?
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.
 

Duy Đạt

New member
Hướng dẫn
Chọn A là đáp án đúng
Xem lời giải
Xem lời giải
Đáp án đúng là: Không có lỗi biên dịch.
Vì:
Lớp Student không ở package java.test mà ở java.school, và bạn không import vào gói java.test, nhưng khi dùng bạn đã chỉ rõ lớp ở package java.school.Student. Nên trình biên dịch hiểu.
Nên đáp án: Có lỗi biên dịch:
can not find symbol test.Student Và Có lỗi biên dịch: Add import java.school.Student
sai và đáp án: Không có lỗi biên dịch đúng.
Khi bạn không khai báo một constructor nào thì trình biên dịch tự động tạo ra một constructor mặc định (không có tham số) cho lớp đó. Nên đáp án: Có lỗi biên dịch:
can not find constructor Student() for Student sai.