Trong lập trình Java hướng đối tượng, package là một cách tổ chức và quản lý các lớp, giao diện, và các tài nguyên liên quan khác trong một cấu trúc thư mục. Package cung cấp một cách tiện lợi để nhóm các thành phần liên quan lại với nhau và giúp tránh xung đột tên trong các tệp tin Java.
Một package được đại diện bởi một thư mục trên hệ thống tệp tin, và tất cả các tệp tin Java trong package đó sẽ nằm trong cùng thư mục hoặc các thư mục con của package đó.
Một số đặc điểm và quy ước liên quan đến Java Package:
- Khai báo package:
- Để đặt một class trong một package, chúng ta sử dụng câu lệnh
package
trên đầu tệp tin Java. Ví dụ:package com.example.mypackage;
- Để đặt một class trong một package, chúng ta sử dụng câu lệnh
- Quản lý package:
- Chúng ta có thể sử dụng các công cụ quản lý package như
jar
hoặc các công cụ build (như Maven hoặc Gradle) để tổ chức và quản lý các package trong một dự án lớn hơn.
- Chúng ta có thể sử dụng các công cụ quản lý package như
- Tên package:
- Tên package nên tuân thủ quy tắc đặt tên của Java. Thông thường, tên package được viết thường và sử dụng domain ngược (reverse domain) như một phần của tên package để tránh xung đột. Ví dụ:
com.example.mypackage
.
- Tên package nên tuân thủ quy tắc đặt tên của Java. Thông thường, tên package được viết thường và sử dụng domain ngược (reverse domain) như một phần của tên package để tránh xung đột. Ví dụ:
- Truy cập các thành phần package:
- Các thành phần trong cùng package có thể truy cập trực tiếp vào nhau mà không cần sử dụng từ khóa
import
. - Để truy cập các thành phần từ package khác, chúng ta cần sử dụng câu lệnh
import
hoặc đề cập đầy đủ tên của class hoặc giao diện đó.
- Các thành phần trong cùng package có thể truy cập trực tiếp vào nhau mà không cần sử dụng từ khóa
- Package-level access:
- Một thành phần có khai báo mức truy cập là mặc định (không có từ khóa
public
,private
, hayprotected
) có thể truy cập bởi các class trong cùng package, nhưng không được truy cập từ package khác.
- Một thành phần có khai báo mức truy cập là mặc định (không có từ khóa
Sử dụng package trong Java giúp tổ chức và quản lý mã nguồn một cách có cấu trúc và dễ dàng sửa đổi. Nó giúp tránh xung đột tên và tạo ra một không gian tên duy nhất cho các thành phần của ứng dụng Java.