Các gói Java và cách nhập chúng?

Trong bài viết này, bạn sẽ tìm hiểu về các gói và cách sử dụng chúng để tạo mã mô-đun trong Java.

Gói Java

Một gói chỉ đơn giản là một vùng chứa nhóm các kiểu liên quan (lớp Java, giao diện, kiểu liệt kê và chú thích). Ví dụ, trong lõi Java, ResultSetgiao diện thuộc về java.sqlgói. Gói chứa tất cả các kiểu liên quan cần thiết cho truy vấn SQL và kết nối cơ sở dữ liệu.

Nếu bạn muốn sử dụng ResultSetgiao diện trong mã của mình, chỉ cần nhập gói java.sql (Nhập các gói sẽ được thảo luận ở phần sau của bài viết).

Như đã đề cập trước đó, các gói chỉ là vùng chứa cho các lớp Java, giao diện, v.v. Các gói này giúp bạn bảo lưu không gian tên lớp và tạo mã có thể bảo trì.

Ví dụ, bạn có thể tìm thấy hai Datelớp trong Java. Tuy nhiên, quy tắc ngón tay cái trong lập trình Java là chỉ cho phép một tên lớp duy nhất trong một dự án Java.

Làm thế nào họ quản lý để bao gồm hai lớp có cùng tên Ngày trong JDK?

Điều này có thể xảy ra vì hai Datelớp này thuộc hai gói khác nhau:

  • java.util.Date - đây là một lớp Date bình thường có thể được sử dụng ở mọi nơi.
  • java.sql.Date - đây là Ngày SQL được sử dụng cho truy vấn SQL và như vậy.

Dựa trên việc gói có được xác định bởi người dùng hay không, các gói được chia thành hai loại:

Gói tích hợp

Các gói dựng sẵn là các gói java hiện có đi kèm với JDK. Ví dụ, java.lang, java.util, java.io, vv Ví dụ:

 import java.util.ArrayList; class ArrayListUtilization ( public static void main(String() args) ( ArrayList myList = new ArrayList(3); myList.add(3); myList.add(2); myList.add(1); System.out.println(myList); ) ) 

Đầu ra :

 myList = (3, 2, 1) 

Các ArrayListlớp thuộc về java.util package. Để sử dụng nó, trước tiên chúng ta phải nhập gói bằng importcâu lệnh.

 nhập java.util.ArrayList; 

Gói do người dùng xác định

Java cũng cho phép bạn tạo các gói theo nhu cầu của bạn. Các gói này được gọi là các gói do người dùng định nghĩa.

Làm thế nào để xác định một gói Java?

Để xác định một gói trong Java, bạn sử dụng từ khóa package.

 tên gói packageName; 

Java sử dụng các thư mục hệ thống tệp để lưu trữ các gói. Hãy tạo một tệp Java bên trong một thư mục khác.

Ví dụ:

 └── com └── kiểm tra └── Test.java 

Bây giờ, hãy chỉnh sửa tệp Test.java và ở đầu tệp, hãy viết câu lệnh gói dưới dạng:

 gói com.test; 

Ở đây, bất kỳ lớp nào được khai báo trong thư mục thử nghiệm đều thuộc về gói com.test .

Đây là mã:

gói com.test; class Test (public static void main (String () args) (System.out.println ("Hello World!");))

Đầu ra :

 Chào thế giới! 

Ở đây, lớp Test bây giờ thuộc về gói com.test .

Quy ước đặt tên gói

Tên gói phải là duy nhất (giống như tên miền). Do đó, có một quy ước để tạo một gói dưới dạng tên miền, nhưng theo thứ tự ngược lại. Ví dụ: com.company.name

Ở đây, mỗi cấp của gói là một thư mục trong hệ thống tệp của bạn. Như thế này:

 └── com └── công ty └── tên 

Và, không có giới hạn về số lượng thư mục con (hệ thống phân cấp gói) bạn có thể tạo.

Làm thế nào để tạo một gói trong Intellij IDEA?

Trong IntelliJ IDEA, đây là cách bạn có thể tạo một gói:

  1. Nhấp chuột phải vào thư mục nguồn.
  2. Chuyển đến gói mới và sau đó .
  3. Một hộp bật lên sẽ xuất hiện để bạn có thể nhập tên gói.

Khi gói được tạo, cấu trúc thư mục tương tự cũng sẽ được tạo trên hệ thống tệp của bạn. Bây giờ, bạn có thể tạo các lớp, giao diện, v.v. bên trong gói.

Làm thế nào để nhập các gói trong Java?

Java có một importcâu lệnh cho phép bạn nhập toàn bộ một gói (như trong các ví dụ trước đó) hoặc chỉ sử dụng các lớp và giao diện nhất định được xác định trong gói.

The general form of import statement is:

 import package.name.ClassName; // To import a certain class only import package.name.* // To import the whole package 

For example,

 import java.util.Date; // imports only Date class import java.io.*; // imports everything inside java.io package 

The import statement is optional in Java.

If you want to use class/interface from a certain package, you can also use its fully qualified name, which includes its full package hierarchy.

Here is an example to import a package using the import statement.

 import java.util.Date; class MyClass implements Date ( // body ) 

The same task can be done using the fully qualified name as follows:

 class MyClass implements java.util.Date ( //body ) 

Example: Package and importing package

Suppose, you have defined a package com.programiz that contains a class Helper.

 package com.programiz; public class Helper ( public static String getFormattedDollar (double value)( return String.format("$%.2f", value); ) ) 

Now, you can import Helper class from com.programiz package to your implementation class. Once you import it, the class can be referred directly by its name. Here's how:

 import com.programiz.Helper; class UseHelper ( public static void main(String() args) ( double value = 99.5; String formattedValue = Helper.getFormattedDollar(value); System.out.println("formattedValue = " + formattedValue); ) ) 

Output:

 formattedValue = $99.50 

Here,

  1. the Helper class is defined in com.programiz package.
  2. lớp Người trợ giúp được nhập vào một tệp khác. Tệp chứa lớp UseHelper.
  3. Các getFormattedDollar()phương pháp của lớp Helper được gọi từ bên trong lớp UseHelper.
Gói nhập Java

Trong Java, importcâu lệnh được viết trực tiếp sau câu lệnh gói (nếu nó tồn tại) và trước định nghĩa lớp.

Ví dụ,

gói package.name; nhập gói.ClassName; // chỉ nhập một lớp MyClass lớp (// body)

thú vị bài viết...