Tìm hiểu thông tin về Package trong Java
02/08/2022 08:19
Các package Java thường được sử dụng để kiểm soát quyền truy cập, ngăn chặn xung đột đặt tên và nhiều hơn nữa. package trong Java cũng có thể được định nghĩa là một nhóm các kiểu liên quan (lớp, giao diện chú thích và kiểu liệt kê) đang cung cấp bảo vệ truy cập và quản lý không gian tên.
package trong Java
Các package Java thường được sử dụng để kiểm soát quyền truy cập, ngăn chặn xung đột đặt tên và nhiều hơn nữa. package trong Java cũng có thể được định nghĩa là một nhóm các kiểu liên quan (lớp, giao diện chú thích và kiểu liệt kê) đang cung cấp bảo vệ truy cập và quản lý không gian tên.
Có nhiều loại package trong ngôn ngữ Java và đây là hai trong số chúng được mô tả bên dưới:
- java.lang - Về cơ bản, chúng được sử dụng để đóng package các lớp cơ bản
- java.io - các lớp cho các hàm đầu vào, đầu ra thường được đóng package trong package ngôn ngữ Java này
Người dùng ngôn ngữ có thể xác định các package của riêng họ để package nhóm các lớp / giao diện, v.v. Đây được coi là một phương pháp hay đang được sử dụng để nhóm các lớp liên quan đã được người dùng thực hiện để người dùng có thể dễ dàng xác định rằng các lớp, giao diện, bảng liệt kê và chú thích có liên quan đến điều này.
Sẽ không có bất kỳ xung đột tên nào với các tên trong các package khác vì package đã tạo một không gian tên mới. Sử dụng các package này, việc cung cấp kiểm soát truy cập trở nên cực kỳ dễ dàng và việc định vị các lớp liên quan trở nên dễ dàng hơn nhiều.
Theo thuật ngữ của giáo dân, package Java có thể được hiểu là nhóm các loại lớp, giao diện và package con tương tự nhau. package trong ngôn ngữ java có thể được phân loại thường ở hai dạng, package tích hợp sẵn và package do người dùng định nghĩa . Về cơ bản, có nhiều package tích hợp sẵn bằng ngôn ngữ Java như, lang, awt, javax, swing, net, io, Prac, sql, v.v.
Tạo một package
Tại thời điểm tạo một package, lập trình viên có thể chọn tên cho package và phải bao gồm một câu lệnh package cùng với tên đó ở đầu mỗi tệp nguồn bao gồm các lớp, giao diện, liệt kê và chú thích. kiểu mà người lập trình muốn đưa vào package.
Câu lệnh package trong ngôn ngữ Java phải là dòng đầu tiên trong tệp nguồn. Xin lưu ý rằng chỉ có thể có một câu lệnh package trong mỗi tệp nguồn và điều này áp dụng cho tất cả các loại trong tệp. Trong trường hợp, một câu lệnh package không được sử dụng thì lớp, giao diện, kiểu liệt kê và chú thích sẽ được đưa vào bên trong package mặc định hiện tại có trong ngôn ngữ. Để biên dịch các chương trình Java với các câu lệnh package, các lập trình viên phải sử dụng tùy chọn -d được mô tả dưới đây:
javac -d Destination_folder file_name.java
Sau thời điểm này, một thư mục với tên package đã cho sẽ được tạo ở đích được chỉ định và các tệp lớp đã biên dịch sẽ được đưa đến thư mục đó.
Lợi thế của package Java
Có rất nhiều ưu điểm của package Java đã được chứng minh là cực kỳ hữu ích trong việc phát triển web và đây là một số ưu điểm quan trọng nhất của các package đã được trình bày dưới đây:
- Để phân loại các lớp và giao diện để chúng có thể dễ dàng bảo trì, package Java được sử dụng.
- package Java được biết là cung cấp khả năng bảo vệ quyền truy cập.
- package Java về cơ bản loại bỏ xung đột đặt tên.
Ví dụ package trong Java
package mypackage; public class SimplePackage { public static void main(String args[]) { System.out.println("Welcome to package"); } }
Làm thế nào để truy cập package từ package khác?
Nói chung, có ba cách mà người dùng có thể truy cập package từ bên ngoài package như được mô tả bên dưới:
- package nhập khẩu. *;
- nhập package.classname;
- tên đầy đủ tư cách.
Hãy thảo luận về chúng từng cái một:
1. Sử dụng tên package. *
Nếu lập trình viên thường sử dụng package. * Thì tất cả các lớp và giao diện thuộc package này sẽ có thể truy cập được ngoại trừ các package con. Từ khóa import thường được sử dụng để làm cho các lớp và giao diện của một package khác có thể truy cập được vào package hiện tại.
Đây là một ví dụ
//save Demo.java
package pack;
public class Demo
{
public void msg(){System.out.println("Welcome");}
}
//save by Demo1.java
package mypack;
import pack.*;
class Demo1
{
public static void main(String args[])
{
Demo obj = new Demo();
obj.msg();
}
}
2. Sử dụng packagename.classname
Nếu lập trình viên nhập tên package.classname thì chỉ lớp được khai báo của package này mới có thể truy cập được.
//save Demo.java
package pack;
public class Demo
{
public void msg()
{
System.out.println("Welcome");
}
}
//save this Demo1.java
package mypack;
import pack.Demo;
class Demo1{
public static void main(String args[])
{
Demo obj = new Demo();
obj.msg();
}
}
Output:
Welcome
3. Sử dụng tên đủ điều kiện
Nếu người lập trình chỉ muốn sử dụng tên đủ điều kiện thì lớp đã khai báo của package này sẽ có thể truy cập được. Trong trường hợp này không cần nhập nó. Thay vào đó, lập trình viên cần sử dụng tên đủ điều kiện mỗi lần khi họ truy cập vào lớp hoặc giao diện. Xin lưu ý rằng nó thường được sử dụng khi hai package có cùng tên lớp, ví dụ, các package java.util và java.sql chứa lớp Ngày.
//save as Demo.java
package pack;
public class Demo
{
public void msg()
{
System.out.println("Welcome");
}
}
//save as Demo1.java
package mypack;
class Demo
{
public static void main(String args[])
{
pack.Demo obj = new pack.Demo();
obj.msg();
}
}
Output:
Welcome