Nội dung
Khái niệm Package trong Java
Package trong Java được sử dụng để nhóm các lớp liên quan. Hãy nghĩ về nó như một thư mục trong một thư mục tập tin.
Các Package có sẵn trong Java API
Chúng ta sử dụng các gói để tránh xung đột tên và để viết mã có thể bảo trì tốt hơn. Các gói được chia thành hai loại:
- Package tích hợp (gói từ API Java)
Package do người dùng xác định (tạo gói của riêng bạn)
Các Package được sử dụng phổ biến và tích hợp sẵn trong Java bao gồm:
Java.lang: Package được import tự động, chứa các lớp hỗ trợ ngôn ngữ. Ví dụ các kiểu dữ liệu nguyên thủy, hoặc phép toán.
Java.util: Bao gồm các lớp tiện ích, thực hiện cấu trúc dữ liệu: danh sách liên kết, hoạt động date/time
Java awt: Bao gồm các class triển khai thành phần cho giao diện sử dụng đồ hoại, có thể là: button, menu…
Java.io: là các lớp chỗ trợ IN/OUTPUT (I/O)
Java.net: Bao gồm các lớp để hỗ trợ thao tác network
Java.applet: Bao gồm các lớp để tạo Applet
Lợi ích của việc sử dụng Package trong Java
Vậy Tại sao chúng ta cần sử dụng Package và việc sử dụng Package có những lợi ích gì?
- Việc tìm kiếm và sử dụng các Class, interface.. Được dễ dàng và chính xác hơn
- Đối với truy cập, Package sẽ cung cấp bảo vệ
- Ngăn chặn sự xung đột trong quá trình đặt tên.
- Các Package có thể ẩn dữ liệu, hay có tên gọi khác là đóng gói dữ liệu.
Cách sử dụng Package trong Java
Nhắc đến tính năng sáng tạo nhất của Java thì phải kể đến Package. Mỗi gói Package trong Java sẽ có những cách để đóng gói theo một nhóm các lớp, giao diện, bảng liệt kê, chú thích và gói Package phụ…
Ví dụ về Java Package:
Tạo một Package trong Java
//Save file Simple.java
package mypack;
public class Simple {
public static void main(String args[]) {
System.out.println(“Learn java package”);
}
}
Biên dịch Java Package:
Khi không sử dụng IDE thì cần thao tác như sau:
javac -d directory javafilename
Ví dụ:
javac -d . Simple.java
Sử dụng lệnh -d để xách định nơi lưu trữ file .class sau khi đã biên dịch. Bạn hoàn toàn có thể sử dụng bất kỳ tên thư mục nào trong Linux OS, D:/temp. Nếu như muốn giữ các Package trong thư mục thì cần phải sử dụng dấu (.)
Run Java Package:
Nếu run java package thì bạn cần sử dụng tên đầy đủ. Ví dụ:
Compile: javac -d . Simple.java
Run: java mypack.Simple
Kết quả:
Learn java package
Dấu chấm (.) biển diễn thư mục hiện tại.
Truy cập Package từ những Package khác
Từ package bên ngoài thì có 3 cách để truy cập package:
- Khai báo import package.*;
- Khai báo import package.classname;
- Sử dụng tên đầy đủ.
1. Sử dụng packagename.*
Nếu như bạn bạn sử dụng packagename.*. Vậy thì các lớp và interface của các gói này sẽ có thể truy cập được, tuy nhiên gói con sẽ không thể truy cập được.
Để truy cập các lớp và interface của gói khác từ gói hiện tại thì có thể sử dụng từ khóa import.
Ví dụ:
1 2 3 4 5 6 | package pack; public class A { public void msg() { System.out.println("Hello"); } } |
1 2 3 4 5 6 7 8 9 | package mypack; import pack.*; class B { public static void main(String args[]) { A obj = new A(); obj.msg(); } } |
Kết quả:
Hello
2. Sử dụng package.classname;
Nếu sử dụng package.classname; thì bạn chỉ được truy cập lớp đã khai báo với package này.
Ví dụ:
1 2 3 4 5 6 | package pack; public class A { public void msg() { System.out.println("Hello"); } } |
1 2 3 4 5 6 7 8 9 | package mypack; import pack.A; class B { public static void main(String args[]) { A obj = new A(); obj.msg(); } } |
Kết quả
Hello
3. Sử dụng tên đầy đủ
Khi sử dụng tên đầy đủ thì sẽ chỉ truy cập được tới lớp đã khai báo của package. Bạn sẽ không cần phải sử dụng đến các từ khóa import. Tuy nhiên, mỗi khi truy cập vào các lớp hoặc interface thì ban cần phải sử dụng tên đầy đủ
Khi 2 package có tên lớp giống nhau thì thường sử dụng cách này. Ví dụ, 2 package java.util và java.sql chứa lớp có tên giống nhau là lớp Date
1 2 3 4 5 6 | package pack; public class A { public void msg() { System.out.println("Hello"); } } |
1 2 3 4 5 6 7 | package mypack; class B{ public static void main(String args[]){ pack.A obj = new pack.A(); //Sử dụng tên đầy đủ obj.msg(); } } |
Kết quả:
Hello
Cách tạo Package trong Java
Để tạo package trong Java rất đơn giản, chỉ cần click chuột phải vào thư mục src trong project, sau đó chọn New -> Package
Gõ vào ô name tên package bạn muốn đặt (cần là tên có nghĩa) rồi click Finish.
Sau đó bạn sẽ New các class, interface,… có liên quan đến nhau trong package vừa đặt để gõ code.
Trong Package, có thể dễ dàng tạo New một package mới bởi vì một package có thể nằm trong package khác. Giả sử trong package vừa demo, new ra một file class có tên là HelloWorld. Thì File tạo ra sẽ hình thành:
Do class Helloworld nằm trong Package Demo, vì vậy trong cùng đoạn Code thì Eclipse IDE sẽ tự động cho câu lệnh package demo. Đối với trường hợp Package newbie có nhiều class, thì có thể sử dụng các class newbie trong class Helloworld ở package demo, rồi import class đó vào.
Cú pháp: import + <tên package>.<tên class>
Để sử dụng Class Array trong package newbie thì mình sẽ khai báo như sau:
Java Import là gì? Đó chính là chỉ cần sử dụng ký tự * như thế này:
- import <tên package>.* (Ví dụ import newbie.*)
Tóm lại, hiểu một cách đơn giản nhất thì package sẽ sử dụng để gom các class, interface… có liên quan với nhau thành một package để tiện sử dụng.
Tổng kết
Thông qua bài viết trên đây, CodeGym Hà Nội đã chia sẻ tới bạn định nghĩa Package Java là gì, cách đặt tên và sử dụng nó như thế nào? Đây là phần cơ bản nhất về Package trong Java, vô cùng hữu ích và hỗ trợ lập trình vô cùng hiệu quả.
Để nắm được cách sử dụng package có sẵn do Java API cung cấp, xem thêm tại Khóa học lập trình Java
Bài viết liên quan:
0 Lời bình