STACKJAVA

Package trong java là gì? Ý nghĩa Package trong Java

Package trong java là gì? Ý nghĩa Package trong Java.

(Xem thêm: Tự học lập trình Java Core – Java SE)

1. Package là gì?

Package là một namespace, một nơi chứa và tổ chức các class, interface liên quan tới nhau.

Về mặt khái niệm, thì bạn có thể hiểu package giống như một folder trên máy tính, các class, interface thì giống như các file trong một folder vậy.

Khi lưu trữ file trên máy tính thì các bạn cũng chia ra các folder và đặt tên (folder học tập, folder giải trí, …), mỗi folder lại chia ra các folder nhỏ hơn. Điều này giúp bạn dễ dàng tìm kiếm file, hiểu chức năng của các file trong một folder.

Ví dụ:

Tương tự thế, trong một project Java, số lượng file (class, interface) có thể lên tới hàng trăm, hàng nghìn do đó việc tổ chức theo các package là rất cần thiết.

2. Lợi ích của package trong Java

2.1 Tổ chức các file (class, interface)

Tổ chức các file (class, interface) theo một hệ thống để dễ phân loại chức năng các file. Hay trong trường hợp có các class trùng tên, nhưng nằm khác package vẫn được chấp nhận.

Ví dụ tổ chức 1 project, khi nhìn vào bạn có thể thấy được nó gồm những phần nào, thậm chí biết được ai viết project (người ta thường dùng domain, tên công ty để làm tiền tố cho tên package)

Một ví dụ khác, cách tổ chức các package trong Java.

2.2. Phân quyền truy cập

Hạn chế quyền truy cập theo package. Ở phần access modifier chúng ta có access modifier default, giúp ta quản lý được các class nào được gọi tới class nào thuộc package nào.

2.3 Chọn lọc khi import

Ví dụ các package trong Java phân cấp như sau:

Khi mình muốn import (sử dụng) tất cả các class trong package java.sql thì dùng lệnh import java.sql.*.

Khi mình chỉ muốn sử dụng các class trong package regex chứ không sử dụng class trong package zip thì dùng lệnh import java.util.regex.*

Rõ ràng với việc sử dụng package, ta có thể tùy ý import những các class thực sự cần thiết.

 

Okay, Done!

References:

https://docs.oracle.com/javase/tutorial/java/concepts/package.html