Bài 6: Packages trong Java: Cách tạo và sử dụng các packages trong Java

  • Thứ sáu - 06/12/2019 11:02
  • 22393

Một trong mỗi công dụng phát minh nhất của Java là định nghĩa về những gói package. Các gói package nhập Java là một trong phương pháp để gói gọn một group những lớp, hình mẫu, bảng liệt kê, chú mến và những gói package phụ. Về mặt mày định nghĩa, bạn cũng có thể hiểu những gói package giống...

Trong nội dung bài viết này, tất cả chúng ta tiếp tục nhắc đến những điều cơ bạn dạng của những gói package nhập Java. Dưới đấy là những chủ thể được nhắc nhập nội dung bài viết này:
Gói package nhập Java là gì?
Gói package tích hợp
Gói package tự người tiêu dùng xác định
       Tạo một gói package nhập Java
       Đặt một phần bên trong gói package Java
       Tạo một lớp trong gói package trong những lúc import gói package khác
       Sử dụng thương hiệu đầy đủ ĐK trong những lúc nhập một lớp
Static import nhập Java
Bảo vệ truy vấn trong những gói package Java
Những vấn đề cần nhớ

Bạn đang xem: Bài 6: Packages trong Java: Cách tạo và sử dụng các packages trong Java

Gói package nhập Java là gì?

Gói package Java là một trong chế độ group những loại lớp, hình mẫu và những lớp con cái tương tự động nhau dựa vào công dụng. Khi ứng dụng được ghi chép tự ngữ điệu thiết kế Java , nó rất có thể bao hàm hàng nghìn hoặc thậm chí còn hàng nghìn lớp riêng rẽ lẻ. Nó ý nghĩa trong các việc tổ chức triển khai tất cả bằng phương pháp đặt điều những lớp và hình mẫu tương quan nhập những gói package.
Sử dụng những gói package trong những lúc lập trình cung cấp cho thật nhiều ưu thế như:

  • 1.Khả năng dùng lại: Các lớp đem trong những gói package của lịch trình không giống rất có thể đơn giản dùng lại
  • 2.Tên Xung đột: Gói package chung tất cả chúng ta xác lập có một không hai một tấm, ví dụ, tất cả chúng ta rất có thể đem những lớp như company.sales.Employeecompany.marketing.Employee
  • 3. Truy cập được kiểm soát: Cung cấp cho bảo đảm truy vấn như bảo đảm lớp class (lớp khoác tấp tểnh và lớp riêng)
  • 4. Đóng gói tài liệu : Chúng cung cấp một phương pháp để ẩn những lớp, ngăn những lịch trình không giống truy vấn những lớp chỉ dành riêng cho dùng nội bộ
  • 5. Báo trì: Với những gói package, bạn cũng có thể tổ chức triển khai dự án công trình của tớ chất lượng rộng lớn và đơn giản xác xác định trí những lớp liên quan

Đó là một trong cơ hội thực hành thực tế chất lượng nhằm dùng những gói package trong những lúc lập trình bằng Java. Là một thiết kế viên, bạn cũng có thể đơn giản dò la đi ra những lớp , hình mẫu, bảng liệt kê và chú mến đem tương quan. Có nhị loại gói package nhập java. 

Các loại gói package nhập Java

Dựa bên trên việc gói package được xác lập tự người tiêu dùng hay là không, những gói package được phân thành nhị loại:
- Gói package được xây đắp sẵn (buit-in)
- Gói package tự người tiêu dùng xác lập (defined)

Gói package được xây đắp sẵn

Các gói package dựng sẵn hoặc những gói package được xác lập trước là những gói package đi kèm theo như một trong những phần của JDK (Bộ dụng cụ cải cách và phát triển Java) nhằm giản dị và đơn giản hóa trọng trách của thiết kế viên Java. Chúng bao hàm một vài lượng rộng lớn những lớp và hình mẫu được xác lập trước là một trong phần của API Java. Một số gói package tích phù hợp thông thường được dùng là java.lang, java.io, java.util, java.applet, v.v ... Dưới đấy là một lịch trình giản dị và đơn giản dùng gói package tích hợp:

import java.util.ArrayList;public class BuiltInPackage {     public static void main(String[] args) {         ArrayList<Integer> myList = new ArrayList<>(3);         myList.add(3);         myList.add(2);         myList.add(1);             System.out.println("Cac thanh phan cua danh sach la: " + myList);    }}

Kết quả:

Sử dụng gói package được xây đắp sẵn

Lớp ArrayList thuộc gói package java.util. Để dùng nó, tất cả chúng ta nên nhập gói package bằng phương pháp dùng câu mệnh lệnh import nhằm nhập gói package tự dòng sản phẩm trước tiên của đoạn code 'import java.util.ArrayList'. Nghĩa là import gói package java.util và dùng lớp ArrayList có nhập gói package phụ util.

Gói package tự người tiêu dùng xác định

Các gói package tự người tiêu dùng khái niệm là những gói package được người tiêu dùng cải cách và phát triển nhằm group những lớp, hình mẫu và gói package phụ tương quan. Với sự trợ chung của một lịch trình ví dụ, hãy coi cơ hội tạo nên những gói package, biên dịch những lịch trình Java mặt mày trong những gói package và thực thi chúng ra làm sao bên dưới đây:

Cách tạo nên một gói package nhập Java

Tạo một gói package nhập Java là một trong việc làm rất rất đơn giản. Chọn một chiếc thương hiệu mang đến gói package và sử dụng một câu mệnh lệnh package để đặt trước trong tệp tin .java. Tệp mối cung cấp java rất có thể chứa chấp những lớp, hình mẫu, bảng liệt kê và những loại chú mến nhưng mà mình thích đi vào gói package. Ví dụ: câu mệnh lệnh sau tạo nên một gói package mang tên MyPackage.

package MyPackage;

Câu mệnh lệnh package chỉ giản dị và đơn giản hướng đẫn gói package nào là nhưng mà những lớp được khái niệm nằm trong về

Lưu ý: Nếu các bạn bỏ lỡ câu mệnh lệnh package, thương hiệu lớp được đặt điều nhập gói package khoác tấp tểnh, ko mang tên. Mặc cho dù gói package khoác tấp tểnh là chất lượng cho những lịch trình cụt, tuy nhiên nó ko đầy đủ cho những phần mềm thực. 

Đặt một class nhập gói package Java

Để tạo nên một lớp trong một gói package, chúng ta nên khai báo thương hiệu gói package là câu mệnh lệnh trước tiên của lịch trình của chúng ta. Sau ê bao hàm những lớp class như là một trong phần của gói package. Nhưng, hãy lưu giữ rằng, một tấm chỉ rất có thể mang trong mình một khai báo gói package. Đây là một trong lịch trình giản dị và đơn giản nhằm hiểu định nghĩa.

package MyPackage;public class Compare {    int num1, num2;    Compare(int n, int m) {        num1 = n;        num2 = m;    }public void getmax(){    if ( num1 > num2 ) {        System.out.println("Maximum value of two numbers is " + num1);    }    else {        System.out.println("Maximum value of two numbers is " + num2);    }}public static void main(String args[]) {    Compare current[] = new Compare[3];        current[1] = new Compare(5, 10);        current[2] = new Compare(123, 120);        for(int i=1; i < 3 ; i++)        {            current[i].getmax();        }    }}

Kết quả: Maximum value of two numbers is 10
              Maximum value of two numbers is 123

Như bạn cũng có thể thấy, tôi vẫn khai báo một gói package mang tên MyPackage và tạo nên một tấm Compare bên nhập gói package ê. Java dùng những folder khối hệ thống tệp tin nhằm tàng trữ những gói package. Vì vậy, lịch trình này sẽ tiến hành lưu nhập một tệp bên dưới dạng compare.java và sẽ tiến hành lưu nhập folder mang tên MyPackage. Khi tệp được biên dịch, Java sẽ tạo nên một tệp .class và tàng trữ nó nhập nằm trong folder. Hãy lưu giữ rằng thương hiệu của gói package nên như là với folder nhưng mà tệp này được lưu.

Bạn rất có thể tự động chất vấn thực hiện thế nào là nhằm dùng class Compare này từ 1 class nhập gói package khác?

Tạo một lớp trong gói package trong những lúc import gói package khác

Chà, nó khá giản dị và đơn giản. quý khách chỉ việc import nó. Chỉ một đợt nó được import, bạn cũng có thể truy vấn nó tự thương hiệu của chính nó. Đây là một trong lịch trình hình mẫu thể hiện tại định nghĩa này.

package AptechBuonMaThuot;import MyPackage.Compare;public class Demo{    public static void main(String args[]) {        int n=10, m=10;        Compare current = new Compare(n, m);        if(n != m) {            current.getmax();        }        else {            System.out.println("Both the values are same");        }       }}

Kết quả: Both the values are same

Đầu tiên tôi vẫn khai báo gói package AptechBuonMaThuot, tiếp sau đó import class Compare từ gói package MyPackage. Vì vậy, trật tự Khi tất cả chúng ta tạo nên một lớp trong một gói package trong những lúc nhập gói package không giống là:

  • - Khai báo 1 gói package
  • - Import class từ 1 gói package khác

Chà, nếu như bạn không thích dùng câu mệnh lệnh import , mang trong mình một cách tiếp theo nhằm truy vấn tệp lớp của gói package kể từ gói package không giống. quý khách chỉ rất có thể dùng thương hiệu đầy đủ ĐK trong những lúc import một tấm .

Sử dụng thương hiệu đầy đủ ĐK trong những lúc import một lớp

Đây là một trong ví dụ nhằm hiểu định nghĩa bên trên. Tôi tiếp tục dùng và một gói package nhưng mà tôi vẫn khai báo trước ê nhập nội dung bài viết này là MyPackage .

package AptechBuonMaThuot;public class Demo{    public static void main(String args[]) {        int n=10, m=11;        //Using fully qualified name instead of import        MyPackage.Compare current = new MyPackage.Compare(n, m);        if(n != m) {             current.getmax();        }        else {            System.out.println("Both the values are same");        }   }}

Kết quả: Maximum value of two numbers is 11
Trong lớp Demo, thay cho nhập gói package, tôi vẫn dùng thương hiệu đầy đủ ĐK như MyPackage.Compare muốn tạo đối tượng người sử dụng của chính nó. Vì tất cả chúng ta đang được nói đến việc nhập những gói package, các bạn cũng rất có thể đánh giá định nghĩa Static import nhập Java.

Static import trong Java

Tính năng nhập tĩnh được reviews nhập Java kể từ phiên bạn dạng 5. Nó tạo nên ĐK mang đến thiết kế viên Java truy vấn thẳng nhập ngẫu nhiên member tĩnh nào là của lớp nhưng mà ko cần dùng thương hiệu đầy đủ ĐK.

package MyPackage;import static java.lang.Math.*; //static importimport static java.lang.System.*;// static importpublic class StaticImportDemo {       public static void main(String args[]) {          double val = 64.0;          double sqroot = sqrt(val); // Access sqrt() method directly          out.println("Sq. root of " + val + " is " + sqroot);          //We don't need lớn use 'System.out       }    }

Kết quả: Sq. root of 64.0 is 8.0
Mặc cho dù dùng static import bao bao gồm không nhiều mã hóa rộng lớn, việc sử dụng nó rất có thể khiến cho lịch trình ko thể phát âm được và ko thể xem sét. Bây giờ hãy fake lịch sự chủ thể tiếp theo sau, trấn áp truy vấn trong những gói package.

Bảo vệ truy vấn trong những gói package Java

Bạn rất có thể trí tuệ được những góc nhìn không giống nhau của chế độ trấn áp truy vấn của Java và những cỗ hướng đẫn truy vấn của Java . Các gói package nhập Java thêm 1 hình mẫu khác để trấn áp truy vấn. Cả nhị lớp và gói package là một trong phương tiện đi lại gói gọn package tài liệu . Trong Khi những gói package vào vai trò là những thùng chứa chấp cho những lớp và những gói package cấp cho bên dưới không giống, những lớp vào vai trò là những thùng chứa chấp tài liệu và mã. Do sự tương tác Một trong những gói package và những lớp này, những gói package Java đem tứ loại tài năng hiển thị cho những member của lớp:

  • - Các lớp con cái (Sub-classes) nhập và một gói package
  • - Không nên lớp con (non-Subclasses) nhập và một gói package
  • - Các lớp con cái (Sub-classes) trong những gói package không giống nhau
  • - Các lớp ko trực thuộc và một gói package tựa như những lớp con

Bảng bên dưới hỗ trợ một hình hình ảnh thực tiễn về loại truy vấn nào là là rất có thể và ko nên là lúc dùng những gói package nhập Java:

  Private  No Modifier Protected Public

Same Class

Xem thêm: Pic là viết tắt của từ gì trong Tiếng Anh?

Yes

Yes

Yes

Yes

Same Package Subclasses

No

Yes

Yes

Yes

Same Package Non-Subclasses

No

Yes

Yes

Yes

Different Packages Subclasses

No

No

Yes

Yes

Different Packages Non- Subclasses

No

No

No

Yes

Xem thêm: Bảng giá nhà container rẻ đến bất ngờ của Hưng Phát

Chúng tớ rất có thể giản dị và đơn giản hóa tài liệu nhập bảng bên trên như sau:
1. Bất cứ điều gì tuyên tía công khai minh bạch public có thể được truy vấn kể từ bất kể điểm nào
2. Bất cứ điều gì được tuyên tía là riêng lẻ private chỉ rất có thể được phát hiện ra nhập lớp đó
3. Nếu hướng đẫn truy vấn ko được nhắc, một thành phần tiếp tục hiển thị cho những lớp con cái cũng tựa như những lớp không giống nhập và một gói package
4. Cuối nằm trong, ngẫu nhiên thành phần được bảo đảm nào là được khai báo đều rất có thể được phát hiện ra phía bên ngoài gói package lúc này của chúng ta, tuy nhiên chỉ với những lớp mà phân lớp của chính nó trong lớp của bạn

Theo phương pháp này, những gói package Java hỗ trợ trấn áp truy vấn cho những lớp.
Dưới đấy là một vài điểm nhưng mà chúng ta nên ghi lưu giữ Khi dùng những gói package nhập Java .
 

Những vấn đề cần nhớ

  • - Mỗi lớp là một trong phần của một vài gói package. Nếu các bạn bỏ lỡ câu mệnh lệnh package, thương hiệu lớp được đặt điều nhập gói package khoác định
  • - Một lớp chỉ rất có thể mang trong mình một câu mệnh lệnh package tuy nhiên nó rất có thể có tương đối nhiều câu mệnh lệnh import package
  • - Tên của gói package nên như là với folder lưu tệp
  • - Khi nhập gói package không giống, khai báo gói package nên là câu mệnh lệnh trước tiên, tiếp theo sau là import package

Tác fake bài bác viết: Aptech Buôn Ma Thuột