Trong Java, các lớp và giao diện liên quan đến nhau được nhóm dưới một package. Package thực chất là một thư mục lưu trữ các lớp và giao diện của một khái niệm cụ thể. Ví dụ, tất cả các lớp và giao diện liên quan đến hoạt động nhập/xuất được lưu trong package java.io.
Tạo một package
Bạn có thể nhóm các lớp và giao diện cần thiết dưới một package chỉ bằng cách khai báo package ở đầu Lớp/Giao diện (tệp) sử dụng từ khóa package như sau:
Ví dụ
package com.tutorialspoint.mypackage;
public class Sample {
public void demo() {
System.out.println("Đây là phương thức của lớp sample");
}
public static void main(String args[]) {
System.out.println("Xin chào, bạn thế nào......");
}
}
Khác với các chương trình khác, để biên dịch chương trình có package, bạn cần sử dụng tùy chọn -d của lệnh javac chỉ định đường dẫn đích nơi bạn cần tạo package.
Kết quả
javac -d . Sample.java
Nếu bạn không đề cập đến đường dẫn đích, package sẽ được tạo trong thư mục hiện tại.
Import một lớp
Để truy cập các lớp/giao diện được nhóm dưới một package, bạn cần thêm vị trí của package vào biến classpath (hoặc đảm bảo package nằm trong thư mục hiện tại) và import lớp/giao diện của nó bằng từ khóa import.
Ví dụ
import com.tutorialspoint.mypackage.Sample;
public class Test {
public static void main(String args[]) {
Sample obj = new Sample();
obj.demo();
}
}
Kết quả
Đây là phương thức của lớp sample
Import một lớp hai lần
Có, bạn có thể import một lớp hai lần trong Java, nó không tạo ra bất kỳ vấn đề nào nhưng, bất kể số lần bạn import, JVM chỉ load lớp một lần.
Ví dụ
Trong chương trình Java sau, chúng ta thử import lớp Sample của package com.tutorialspoint.mypackage chỉ một lần.
import com.tutorialspoint.mypackage.Sample;
import com.tutorialspoint.mypackage.Sample;
public class Test {
public static void main(String args[]) {
Sample obj = new Sample();
obj.demo();
}
}
Kết quả
Sample class loaded Đây là phương thức của lớp sample