C語言中文網 目錄
首頁 > Java教程 > Java類和對象 閱讀:1,277

Java包(package):Java系統包和自定義包

在編寫 Java 程序時,隨著程序架構越來越大,類的個數也越來越多,這時就會發現管理程序中維護類名稱也是一件很麻煩的事,尤其是一些同名問題的發生。有時,開發人員還可能需要將處理同一方面的問題的類放在同一個目錄下,以便于管理。Java 為了解決上述問題,提供了包機制。

系統包

包允許將類組合成較小的單元(類似文件夾),它基本上隱藏了類,并避免了名稱上的沖突。包允許在更廣泛的范圍內保護類、數據和方法,可以在包內定義類,而在包外的代碼不能訪問該類。

包的 3 個作用如下:
  1. 區分相同名稱的類。
  2. 能夠較好地管理大量的類。
  3. 控制訪問范圍。

在 Java 語言中,開發人員可以自定義包,也可以使用系統包,常用的系統包如表 1 所示。

表1 Java中常用的系統包
說明
java.lang Java 的核心類庫,包含運行 Java 程序必不可少的系統類,如基本數據類型、基本數學函數、
字符串處理、異常處理和線程類等,系統默認加載這個包
java.io Java 語言的標準輸入/輸出類庫,如基本輸入/輸出流、文件輸入/輸出、過濾輸入/輸出流等
java.util 包含如處理時間的 Date 類,處理動態數組的 Vector 類,以及 Stack 和 HashTable 類
java.awt 構建圖形用戶界面(GUI)的類庫,低級繪圖操作 Graphics 類、圖形界面組件和布局管理
(如 Checkbox 類、Container 類、LayoutManger 接口等),以及用 戶界面交互控制和事
件響應(如 Event 類)
java.awt.image 處理和操縱來自網上的圖片的 java 工具類庫
java.wat.peer 很少在程序中直接用到,使得同一個 Java 程序在不同的軟硬件平臺上運行
java.net 實現網絡功能的類庫有 Socket 類、ServerSocket 類
java.lang.reflect 提供用于反射對象的工具
java.util.zip 實現文件壓縮功能
java.awt.datatransfer 處理數據傳輸的工具類,包括剪貼板、字符串發送器等
java.sql 實現 JDBC 的類庫
java.rmi 提供遠程連接與載入的支持
java. security 提供安全性方面的有關支持

自定義包

Java 的系統包無須定義可以直接調用,當然也可以自定義包。下面來介紹自定義包的聲明和使用方法。

1. 包的聲明

為了聲明一個包,首先必須建立一個相應的目錄結構,子目錄與包名一致,然后在需要放入該包的類文件開頭聲明包,形式如下:
package 包名;

不同程序文件內的類也可以同屬于一個包,只要在這些程序文件前都加上同一個包的說明即可。

2. 包的使用

在 Java 中,為了裝載使用已經編譯好的包,通常可以使用以下三種方法。

1) 一是在要引用的類名前帶上包名作為修飾符。代碼如下:
bookexample.Test test = new bookexampie.Test();
其中,bookexample 是包名,Test 是包中的類名,test 是類的對象。

2) 二是在文件開頭使用 import 引用包中的類。代碼如下:
import bookexample.Test;

3) 三是在文件前使用 import 引用整個包。如下代碼將 bookexample 整個包引入:
import bookexample.*;
在使用包時,可以用點(.)表示包所在的層次結構,用“.*”表示該目錄下的所有內容。

提示:使用包時需要注意系統 classpath 路徑的設置情況,它需要將包名對應目錄的父目錄包含在 classpath 路徑中,否則編譯時會出錯,提示用戶編譯器找不到指定的類。

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo