"Chào, Amigo! Hôm nay chúng ta sẽ nói về các gói hàng."

"Các tệp trên máy tính được nhóm thành các thư mục. Các lớp trong Java (mỗi lớp được lưu trữ trong một tệp riêng biệt) được nhóm thành các gói tương ứng với các thư mục trên ổ cứng. Vì vậy, không có gì mới ở đây. Có hai điều tôi' Tuy nhiên, tôi muốn chỉ ra điều đó."

" Đầu tiên , tên duy nhất đầy đủ của một lớp bao gồm tên gói của nó cộng với tên lớp . Dưới đây là một số ví dụ:"

Tên đầy đủ duy nhất Tên gói hàng Tên lớp
java.io.FileInputStream java.io FileInputStream
java.lang.String java.lang Sợi dây
java.util.ArrayList java.util Lập danh sách
org.apache.tomcat.Servlet org.apache.tomcat servlet
Con mèo không được chỉ định Con mèo

"Tên lớp đầy đủ luôn là duy nhất."

"Sẽ rất khó khăn nếu chúng ta phải viết tên dài, tức là java.util.ArrayList , mọi lúc. Đó là lý do tại sao Java cho phép bạn nhập các lớp. Bạn có thể sử dụng tên viết tắt của các lớp khác trong mã của mình, nhưng ở phần đầu của lớp của bạn, bạn phải chỉ ra rõ ràng lớp nào bạn sẽ sử dụng."

"Làm thế nào để bạn làm điều đó?"

"Với một dòng trông như thế này: import java.util.ArrayList;"

"Khi bắt đầu một lớp, ngay sau khi khai báo gói, bạn có thể cho biết bạn đang đề cập đến lớp nào khi bạn sử dụng ArrayList trong mã của mình."

"Tại sao mọi thứ lại quá phức tạp? Các lớp có thể có tên giống hệt nhau không?"

"Vâng. Có thể có các lớp có cùng tên trong các gói khác nhau. Chúng tôi không thể nhập hai lớp có tên giống hệt nhau , vì vậy chúng tôi sẽ phải gọi một trong số chúng bằng tên đầy đủ của nó."

"Đây là một ví dụ tương tự dành cho bạn. Bạn có một đồng nghiệp tên là Jim. Không có vấn đề gì với điều đó: mọi người đều biết anh ta là ai. Nhưng nếu có ba Jim trong văn phòng của bạn, bạn phải gọi họ bằng tên riêng đầy đủ để tránh lú lẫn."

" Thứ hai , tốt hơn hết là bạn nên đặt các lớp vào các gói chứ không phải thư mục gốc src . Khi bạn không có nhiều lớp thì đây không phải là vấn đề, nhưng khi có nhiều lớp thì rất dễ trộn lẫn chúng. Luôn tạo các lớp các gói bên trong."

Trong Java, thông lệ phổ biến là đặt tên cho các lớp và gói có ý nghĩa. Nhiều công ty phát hành thư viện (bộ lớp) và đặt tên theo công ty hoặc trang web của họ để tránh nhầm lẫn:"

Tên gói hàng Tên công ty/dự án
tổ chức apache .common
tổ chức. apache .tomcat
org. apache .util
apache
com. tiên tri .jdbc tiên tri
java .io
java x.servlet
mặt trời, Java
com. ibm.websphere IBM, WebSphere
com. jboss JBoss