Trong ngôn ngữ lập trình Java, Package là một trong những thứ quan trọng bạn cần phải biết và sử dụng thành thạo. Vậy ngay bây giờ hãy cùng chúng tôi tìm hiểu xem Package là gì và được định nghĩa như thế nào nhé!

Package là gì?

Package (gói) trong java là một nhóm các loại class (lớp), interface (giao diện) và gói con tương tự nhau
Package trong Java được chia thành hai loại:Package (gói) đã được dựng sẵn
Package (gói) do người dùng định nghĩa

*

Package trong Java

Có rất nhiều gói được dựng sẵn như: lang, AWT, java, javax, swing hay util, sql và net, io,…Package người dùng tự định nghĩa:

*

Cú pháp Package do người dùng định nghĩa

Những điều cần biết về Package

Quy ước cách đặt tên các Package: Các Package được đặt tên theo thứ tự ngược lại với tên miền, nghĩa là org.geeksforgeeks.practice
Ví dụ, trong các trường đại học thường quy ước được đề xuất là college.tech.ee, college.tech.cse hay college.art.history,…Các package khác nhau nhưng có thể có class trùng tên nhau. Nếu package khác nhau nhưng lại có các class trùng tên nhau thì khi sử dụng bắt buộc bạn phải import đầy đủ tên package và cả tên class
Cách truy cập vào các thành phần trong package: private, protected, public, default

*

Có 4 cách để có thể truy cập vào package là private, protected, public, default

Private: Chỉ có thể truy cập bởi chính class đấy
Protected: Được truy cập bởi các Class trong cùng một package, các class chính là sub- class của class này
Public: Có thể được truy cập bằng tất cả các class dù ở trong cùng một package hay khác package
Default: Được truy cập bởi class trong cùng package
Thêm một lớp vào một gói: Bạn có thể thêm nhiều lớp vào một gói bằng cách sử dụng tên gói ở phần đầu chương trình và lưu nó ở trong thư mục gói. Bạn cần một tệp java mới để có thể xác định một lớp công khai, nếu không bạn có thể thêm một lớp mới vào tệp hiện có và chỉ cần biên dịch lại nó
Các gói con: Các gói nhỏ bên trong một gói khác được gọi là subpackage hoặc package con. Chúng không được phép nhập theo mặc định mà phải nhập một cách rõ ràng. Đặc biệt, các thành viên trong một gói con thì không có quyền truy cập, nghĩa là chúng được coi như các gói khác nhau đối với các chỉ định về truy cập mặc định và được bảo vệ

Tuyển lập trình viên python lương cao chất lượng hấp dẫn

Việc làm lập trình phplương cao chất lượng hấp dẫn

Việc làm ITlương cao chất lượng hấp dẫn

Những lợi thế của việc sử dụng Package là gì?

Tổ chức các file (class, interface): việc tổ chức này theo một hệ thống giúp có thể dễ dàng phân loại file. Hay trong một trường hợp đặc biệt nào đó có những class trùng tên nhưng nằm trong các package khác nhau thì vẫn được chấp nhận. Khi tổ chức một project bạn có thể dễ dàng thấy được nó gồm những phần gì, thậm chí có thể biết được ai viết project này. Thông thường, người ta thường sử dụng domain hay tên công ty để làm tiền tố cho tên của package

*

Ví dụ về cách tổ chức một project

Phân quyền truy cập: Ở phần access modifier ta có access modifier default giúp bạn có thể quản lý xem class nào được gọi tới class thuộc package nào
Chọn lọc khi import:

*

Các package trong java được phân cấp như trên hình vẽ

Khi bạn muốn import tất cả các class trong package thì sử dụng lệnh import java.sql.*Khi chỉ muốn sử dụng class nằm trong package regex thì sử dụng lệnh import java.util.regex.*Rõ ràng rằng việc sử dụng package giúp bạn có thể truy cập vào những class thực sự cần thiết

Syntax là gì? Các lỗi cú pháp Syntax trong lập trình

Database Administrator là gì và những kỹ năng cần thiết của DBA

Cách truy cập Package từ Package khác

Sử dụng packagename.*: Khi bạn sử dụng packagename .*thì lúc này tất cả các lớp hay interface của các gói đều có thể truy cập được, nhưng các gói con của nó thì không
Để có thể truy cập các lớp hay interface của gói khác từ khói hiện tại ta sử dụng từ khóa import

*

Ví dụ về cách truy cập Package từ Package khác bằng cách sử dụng packagename.*

Sử dụng packagename.classname: Bạn chỉ có thể truy cập được tới lớp mà đã được khai báo của package

*

Ví dụ về cách truy cập Package từ Package khác bằng cách sử dụng packagename.Class
Name

Sử dụng tên đầy đủ: Nếu sử dụng tên đầy đủ thì bạn chỉ được phép truy cập tới lớp mà đã được khai báo của Package, không cần sử dụng từ khóa import, nhưng phải sử dụng tên đầy đủ mỗi khi truy cập vào các lớp hay interface
Cách sử dụng tên đầy đủ thường được dùng khi hai Package có tên lớp (Class) giống nhau
Ví dụ: cả hai package là java.sql và java.util đều có cùng tên lớp là Date

*

Ví dụ về cách truy cập Package từ Package khác bằng cách sử dụng tên đầy đủ

Lưu ý:Nếu bạn đã import một package thì package con của package đó sẽ không được import
Thứ tự của chương trình là: package → import → class

*

Thứ tự của chương trình từ trên xuống dưới như hình

Nên sử dụng import packagename.Class
Name khi muốn sử dụng một class của package này ở một package khác
Mỗi một package sẽ tương ứng với một thư mục
Kết luận: Có thể cho rằng package trong java đóng một vai trò rất quan trọng đối với các lập trình viên. Khi bạn biết sử dụng thì nó sẽ giúp việc code trở nên thuận tiện và dễ dàng hơn. Hy vọng rằng bài viết package là gì này đã trang bị cho bạn những kiến thức cơ bản và cần thiết

ITNavi – Nền tảng kết nối việc làm IT

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.

Đang xem: Package trong java

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.

Xem thêm: Giới thiệu cá sấu hỏa tiễn trắng, cá sấu hỏa tiễ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.

Xem thêm: Ad, sp, combat, rank, afk, tank, cc, gank, ks là gì trong game lol

Okay, Done!

References:

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

This entry was posted in Java. Bookmark the permalink.

Điều hướng bài viết

← Class trong Java là gì? Object trong Java là gì?
Khai báo hàm khởi tạo trong Java – Constructor Declarations →

Leave a Reply

Your email address will not be published. Required fields are marked *