Package trong Java

Package (gói) trong java là một nhóm các class, interface và các package khác. Trong java chúng ta sử dụng package để tổ chức cấu trúc dự án hợp lý. Đừng lo lắng nếu bạn chưa biết về class, hay interface vì chúng ta sẽ tìm hiểu chúng sau.

Java có 2 loại package chính :Các package tích hợp được java kiến thiết xây dựng sẵn dựa trên những nhu yếu liên tục của những lập trình viên .

import

Bạn đang đọc: Package trong Java

java.util.

Scanner;

Trong đó :

  • import là từ khóa dùng để khai báo chúng ta sẽ sử dụng gói
  • java: là gói cha
  • util : là gói con của gói java
  • Scanner: là một class chứa trong gói util.

Sử dụng package trong java cho tất cả chúng ta rất nhiều quyền lợi, hoàn toàn có thể kể đến như : ( Nếu bạn chưa từng học java thì hãy bỏ lỡ phần dưới và đọc phần tiếp theo )

Tái sử dụng

Trong một dự án, sẽ có lúc một logic được sử dụng ở nhiều nơi, nếu mỗi chỗ như vậy bạn đều code lại logic thì việc bị lặp code sẽ ngày càng nhiều Đến khi logic đó thay đổi thì chúng ta lại phải lục lọi tất cả mọi nơi sử dụng logic đó mà sửa lại. Điều này vừa gây rủi ro và vừa khổ cực. VÌ thế, trường hợp này chúng ta nên tạo ra package chứa class implement logic đó và import vào những nơi cùng sử dụng. Đến lúc sửa chúng ta chỉ cần tìm đến package chứa class implement nó và sửa lại thôi.

Cấu trúc tốt

Trong một dự án Bất Động Sản lớn, nó hoàn toàn có thể chứa đến hàm trăm, hàng ngàn class, interface để thực thi những nhóm chức năng khác nhau. Sử dụng package để phân tầng theo nhóm chức năng và chứa những class tương quan giúp tất cả chúng ta quản trị code hiệu suất cao. Tên package phải nói lên được ý nghĩa của package đó .

Xung đột tên

Đôi lúc tất cả chúng ta đặt tên của 2 hoặc nhiều class cùng tên. Dùng package tất cả chúng ta hoàn toàn có thể tránh được xung đột bằng cách chỉ định đúng đường dẫn từ package cha đến những class cùng tên

package-trong-java

Ở ví dụ trên chúng ta có package com là package lớn nhất, theo sau đó là company. Mình đặt 2 class đều có tên Example trong package company nhưng được báo lỗi là không thể có 2 class cùng tên trong company. Để giải quyết vấn đề này, mình đã tạo ra 2 package package1 và package2 để chứa 2 class Example của mình.

 
package 

com.company.package1

; public class Example { public void display() { System.out.println(" ví dụ trong package 1 "); } }
 
package 

com.company.package2

; public class Example { public void display() { System.out.println(" ví dụ trong package 2 "); } }
 
package 

com.company

; public class Main { public static void main(String[] args) {

com.company.package1.

Example

example1 = new

com.company.package1.

Example

(); example1.display();

com.company.package2.

Example

example2 = new

com.company.package2.

Example

(); example2.display(); } }

ví dụ trong package 1
ví dụ trong package 2

Sub package

Trong một package hoàn toàn có thể chứa những package khác, những package này được gọi là sub package .
tất cả chúng ta có TopPackage chứa SubPackage, và class Example thuộc về SubPackage .

 
package 

TopPackage.SubPackage

; public class Example { public void demo() { System.out.println(" Sub package "

)

; } }

Import package với ký tự (*)

Giả sử có 2 class Example1, Example2 chứa trong package thaycacac. Chúng ta muốn sử dụng cả Example1Example2.

Cách 1: import từng class vào

import 

thaycacac.

Example1; import

thaycacac.

Example2; public class Main { public static void main(String[] args) { Example1 example1 = new Example1(); Example2 example2 = new Example2(); example1.demo(); example2.demo(); } }

Cách 1: Thay vì import từng class như vậy sẽ khiến code trở nên dài dòng, chúng ta sẽ sử dụng _ với hàm ý import tất cả các class, interface etc chứa trong thaycacac

 
package thaycacac;
public class Example1 {
    public void demo() {
        System.out.println(" ví dụ 1 ");
    }
}
 
package thaycacac;
public class Example2 {
    public void demo() {
        System.out.println(" ví dụ 2 ");
    }
}
 
import 

thaycacac.

*; public class Main { public static void main(String[] args) { Example1 example1 = new Example1(); Example2 example2 = new Example2(); example1.demo(); example2.demo();

}

}

ví dụ 1
ví dụ 2