Các gói không được giả định vì triết lý của Java là tốt hơn là rõ ràng hơn là ngầm định/giả định.
Tính năng này cung cấp cho bạn khả năng truy cập mọi thứ trong gói hiện tại của bạn, nhưng mọi thứ bên ngoài cần phải được nhập một cách rõ ràng. (Tôi tin rằng Java.lang là ngoại lệ vì có chứa rất nhiều chức năng cơ sở như String sẽ không có một gói duy nhất không sử dụng nó).
Đây cũng là lý do tại sao bạn có xu hướng xem:
import java.util.ArrayList;
import java.util.LinkedList;
thay vì:
import java.util.*;
này có thể dường như gây phiền nhiễu cho đến khi một ngày bạn đang cố gắng tìm ra mã elses ai đó và nó chạm bạn sẽ khó khăn hơn thế nào nếu mọi thứ bị ẩn/ngụ ý.
Nếu bạn sử dụng Eclipse, Netbeans hoặc IntelliJ, bạn thậm chí sẽ không bao giờ nhận thấy vì hai tính năng.
Trước hết, nếu bạn nhấn ctrl-space ở giữa việc gõ tên lớp, nó sẽ không chỉ hoàn thành tên lớp cho bạn mà còn tự động thêm nó vào danh sách nhập.Thứ hai, nếu bạn đã từng đến nơi nhập khẩu là "Sai" hoặc bạn không sử dụng mở rộng không gian ctrl, bạn có thể chỉ cần gõ ctrl-shift-o (nhật thực) để có nó "Sửa nhập khẩu". Thao tác này sẽ tự động nhập những thứ cần nhập và xóa các mục nhập bạn không còn cần nữa. Tùy thuộc vào cài đặt của bạn, nó cũng sẽ mở rộng hoặc thu gọn *.
Một khi bạn có được một hệ thống xuống bạn thậm chí không bao giờ xem xét nhập khẩu.
Nguồn
2010-08-03 02:45:08
AFAIK tên gói luôn luôn thừa. Chỉ cần cố gắng thay đổi 'com.mypackage.stuff' thành * mọi thứ * khác và làm cho nó được biên dịch mà không thay đổi' CLASSPATH'. – maaartinus