1. 程式人生 > >Java 包的定義與使用

Java 包的定義與使用

包是Java語言提供的一種區別類名字名稱空間的機制,它是類的一種檔案組織和管理方式、是一組功能相似或相關的類或介面的集合。Java package提供了訪問許可權和命名的管理機制,它是Java中很基礎卻又非常重要的一個概念。

一、包的作用
1 把功能相似或相關的類或介面組織在同一個包中,方便類的查詢和使用。
2 如同資料夾一樣,包也採用了樹形目錄的儲存方式。同一個包中的類名字是不同的,不同的包中的類的名字是可以相同的,當同時呼叫兩個不同包中相同類名的類時,應該加上包名加以區別。因此,包可以避免名字衝突。
3 包也限定了訪問許可權,擁有包訪問許可權的類才能訪問某個包中的類。

二、包的定義
在一個.java檔案中可以一個public類和多個非public類,如果要將這些類組織在一個包當中,則在.java檔案中除註釋以外的第一行使用關鍵字package即可實現。當需要呼叫此包中的類時,就可以使用關鍵字import進行匯入。在定義包的時候,應該注意幾點:
1 為了儘量使包名保持唯一性,包名通常採用小寫、按倒寫網際網路址的形式進行定義。如:com.hank.www表示包檔案放置的檔案路徑為com/hank/www。
2 在進行命名包時,應該避免使用與系統發生衝突的名字,如java.lang、java.swing等。

三、java包建立和使用步驟
步驟1在D盤根目錄下建立java資料夾,其下放置有原始檔HelloWorld.java和MyTest.java。編寫包原始檔程式碼HelloWorld.java和測試原始檔程式碼MyTest.java。如下:
//HelloWorld.java
package com.hank.www;
public class HelloWorld
{
public HelloWorld(){System.out.println(“Hello,World !”);}
public void display(){System.out.println(“Welcome to the java programming world !”);}
}
//MyTest.java
import com.hank.www.HelloWorld;
public class MyTest
{
public static void main(String[] args)
{
HelloWorld hw=new HelloWorld();
hw.display();
}
}

步驟2在D:/java資料夾下建立目錄資料夾以儲存包,路徑為:D:/java/com/hank/www,此例中將HelloWorld.class存放在D:/java/com/hank/www資料夾下。
步驟3 編譯原始檔HelloWorld.java,首先應該進入原始檔夾,即為cd D:/java->javac –d D:/java HelloWorld.java,產生的HelloWorld.class便存放在c:/java/com/hank/www資料夾下。
步驟4 編譯測試檔案MyTest.java,即為javac MyTest.java,執行java MyTest即實現了包的建立和匯入。
[注]:在使用命令javac –d 之前,必須在D:/java中先建立好包路D: /java/com/hank/www,因為該命令不會自動建立資料夾。

四:系統常用包

1、Java.lang包:java的核心類庫,包含了執行java程式必不可少的系統類,如基本資料型別、基本數學函式、字串處理、執行緒、異常處理類等,系統預設載入這個包
2、java.io包:java語言的標準輸入/輸出類庫,如基本輸入/輸出流、檔案輸入/輸出、過濾輸入/輸出流等等
3、java.util包:Java的實用工具類庫Java.util包。在這個包中,Java提供了一些實用的方法和資料結構。例如,Java提供日期(Data)類、日曆(Calendar)類來產生和獲取日期及時間,提供隨機數(Random)類產生各種型別的隨機數,還提供了堆疊(Stack)、向量(Vector) 、位集合(Bitset)以及雜湊表(Hashtable)等類來表示相應的資料結構。包含如處理時間的date類,處理變成陣列的Vector類,以及stack和HashTable類

4、java.util.zip包:實現檔案壓縮功能
5、java.lang.reflect包:提供用於反射物件的工具
6、java.awt.image包:處理和操縱來自於網上的圖片的java工具類庫
7、java.wat.peer包:很少在程式中直接用到,使得同一個java程式在不同的軟硬體平臺上執行
8、java.applet包
9、java.NET包:實現網路功能的類庫有Socket類、ServerSocket類
10、java.corba包和java.corba.orb包
11、java.awt.datatransfer包:處理資料傳輸的工具類,包括剪貼簿,字串傳送器等

12、java.awt包:構建圖形使用者介面(GUI)的類庫,低階繪圖操作Graphics類,圖形介面元件和佈局管理如 Checkbox類、Container類、LayoutManger介面等,以及介面使用者互動控制和事件響應,如Event類
13、java.awt.event包:GUI事件處理包。
14、java.sql包:實現JDBC的類庫。

五:jar的命令

這裡寫圖片描述

至於具體的怎麼使用jar命令,我就不多說了,學習包的作用,就是豐富我的基本知識,具體操作,就要看自己的造詣.