Java 包的定義與使用

轉自 http://blog.csdn.net/google_huchun/article/details/52830245

包是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命令,我就不多說了,學習包的作用,就是豐富我的基本知識,具體操作,就要看自己的造詣.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章