× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Package trong Java - Giải mã các thông tin về Package trong Java

19/04/2021 03:52

Trong máy tính của chúng ta luôn tồn tại các thư mục giúp ta phân loại và truy cập các tệp khác nhau. Tương tự như vậy, trong lập trình với Java, chúng ta có các Package với mục đích tương tự, được sử dụng chủ yếu để tổ chức các lớp và giao diện.

Package trong Java giúp chúng ta viết mã tốt hơn và dễ quản lý bằng cách ngăn chặn xung đột trong việc đặt tên. Java cung cấp một số gói tích hợp mà chúng ta có thể sử dụng nhưng chúng ta cũng có thể tạo các gói (do người dùng xác định) của riêng mình. Trong bài viết này, chúng ta sẽ thảo luận mọi thứ về package trong Java cùng với các cú pháp và ví dụ phân tích đi kèm. 

Khái niệm package trong Java

Khái niệm package trong Java

Khái niệm Packages trong Java là gì?

Package trong Java là một kiểu thực thể Java tương tự như lớp, giao diện, lớp con, ngoại lệ, lỗi và enums. Một gói cũng có thể chứa các gói con. 

Ưu điểm của Package trong Java

Lợi ích của việc dùng package trong Java

Lợi ích của việc dùng package trong Java

Có một số lợi ích khi sử dụng Java Packages như sau:

  • Giúp dễ dàng tìm kiếm hoặc định vị các lớp và giao diện.
  • Tránh xung đột đặt tên. Ví dụ: có thể có hai lớp với tên Student trong hai gói, university.csdept.Student và college.itdept.Student
  • Thực hiện đóng gói dữ liệu (hoặc ẩn dữ liệu).
  • Cung cấp quyền truy cập có kiểm soát: Các chỉ định truy cập được bảo vệ và mặc định có quyền kiểm soát truy cập ở cấp độ gói. Một thành viên được khai báo là được bảo vệ có thể truy cập được bởi các lớp trong cùng một gói và các lớp con của nó. Một thành viên không có bất kỳ mã xác định truy cập nào là mã xác định mặc định chỉ có thể truy cập bởi các lớp trong cùng một gói.
  • Sử dụng lại các lớp có trong package của các chương trình khác.
  • So sánh duy nhất các lớp trong các gói khác.

>>> Tham khảo: Khóa học lập trình Java

Các loại Package trong Java

Package trong Java có thể được chia làm hai loại:

  1. Các gói Java API hoặc các gói tích hợp 
  2. Các gói do người dùng xác định.

Các gói Java API hoặc các gói tích hợp

Java cung cấp một số lượng lớn các lớp được nhóm thành các gói khác nhau dựa trên một chức năng cụ thể.

Thành phần package trong Java

Thành phần package trong Java

Ví dụ:

java.lang: Nó chứa các lớp cho kiểu nguyên thủy, chuỗi, hàm toán học, luồng và ngoại lệ.

java.util: Nó chứa các lớp như vectơ, bảng băm, ngày tháng, Lịch, v.v.

java.io: Nó có các lớp dòng cho Đầu vào / Đầu ra.

java.awt: Các lớp để triển khai Giao diện Người dùng Đồ họa.

java.net: Các lớp dành cho mạng

java. Applet: Lớp tạo và thực hiện vi mã

Gói do người dùng tự định dạng

Như tên gọi của nó, các gói này được định nghĩa bởi người dùng. Chúng ta có thể tạo một thư mục có tên phải giống với tên của gói. Sau đó, tạo một lớp bên trong thư mục.

Package trong Java hoạt động  như thế nào?

Tên của các gói và cấu trúc thư mục có liên quan chặt chẽ với nhau. Ví dụ, nếu một tên gói là university.engineering.csedept, thì có ba thư mục - university, engineering và csedept để csedept có trong  engineering và  engineering thì nằm trong university. 

Gói University có thể được coi là một gói cấp cao nhất trong khi engineering là một gói con của University và cse dept là một gói phụ của engineering.

Quy ước đặt tên Package trong Java

Tên gói tuân theo thứ tự ngược lại của tên miền, nghĩa là org.techvidvan.tutorials. Ví dụ: trong một trường đại học, quy ước được đề xuất là university.engineering.mech hoặc university.tech.it hoặc university.arts.history, v.v.

Trong gói sau:

java.util.Vector
  • java là một gói cấp cao nhất
  • use là một gói phụ
  • và Vector là một lớp có trong gói con tận dụng.

>>> Đọc thêm: Số trong Java - Tìm hiểu các phương thức số và cú pháp trong Java

Biên dịch Package trong Java

Nếu bạn đang sử dụng IDE (Môi trường phát triển tích hợp), thì để biên dịch package, bạn cần thực hiện theo cú pháp dưới đây:

javac -d directory javaFileName

Ví dụ,

javac -d . Example.java

-d chỉ định đích nơi định vị tệp lớp được tạo. Bạn có thể sử dụng bất kỳ tên thư mục nào như / home (trong Linux), C: / folderName (trong windows), v.v. Nếu bạn muốn gói có trong cùng một thư mục, bạn có thể sử dụng dấu chấm (.)

Truy cập Package hoặc Class từ một Package khác

Nếu chúng ta muốn truy cập tất cả các lớp và giao diện của một gói hiện có thì chúng ta sử dụng câu lệnh nhập . Chúng ta có thể làm điều đó theo ba cách khác nhau:

  • nhập gói. *;
  • nhập gói.classname;
  • fully qualified name.
  1. Bằng cách sử dụng * sau câu lệnh nhập, chúng ta có thể truy cập tất cả các lớp của gói nhưng không phải các gói con.

Cú pháp:

import packageName.*;
  1. Bằng cách sử dụng một tên lớp cụ thể sau câu lệnh nhập, chúng ta có thể truy cập vào gói lớp cụ thể đó nhưng không truy cập vào các gói con.

Cú pháp:

import packageName.className;

3.Sử dụng tên Đủ điều kiện có nghĩa là chúng ta có thể truy cập lớp đã khai báo của các gói khác nhau mà không cần sử dụng câu lệnh nhập. Nhưng bạn cần phải sử dụng tên đủ điều kiện mỗi khi truy cập vào lớp hoặc giao diện có trong một gói khác.

Loại kỹ thuật này thường được sử dụng khi hai gói có cùng tên lớp, ví dụ lớp Ngày trong Java có trong cả hai gói java.util và java.sql .

Điểm quan trọng về Package trong Python

  • Mỗi lớp thuộc về một gói. Nếu bạn không đề cập đến bất kỳ gói nào, các lớp trong tệp sẽ chuyển sang một gói không tên đặc biệt, gói này giống nhau đối với tất cả các tệp không thuộc một gói được chỉ định.
  • Nhiều lớp và giao diện trong một tệp có thể là một phần của cùng một gói.
  • Nếu tên gói được chỉ định, thì tên thư mục phải khớp với tên gói.
  • Chúng ta có thể truy cập các lớp được khai báo là public trong một gói khác bằng cách sử dụng:
    import package-name.class-name

Kết luận: Package trong Python là yếu tố cần thiết để quản lý và truy cập các mã một cách hợp lý hơn. Trong bài viết này, chúng ta đã đề cập đến cách làm việc, kỹ thuật để truy cập các gói khác nhau trong Java. 

Hy vọng những thông tin này sẽ hữu ích cho việc nghiên cứu sâu hơn về Java của bạn. Tìm hiểu thêm về Java và các ngôn ngữ lập trình khác qua các khóa học lập trình tại Viện công nghệ thông tin T3H bạn nhé!