天天看點

Java類庫及其組織結構

Java類庫中有很多包:

  • 以 java.* 開頭的是Java的核心包,所有程式都會使用這些包中的類;
  • 以 javax.* 開頭的是擴充包,x 是 extension 的意思,也就是擴充。雖然 javax.* 是對 java.* 的優化和擴充,但是由于 javax.* 使用的越來越多,很多程式都依賴于 javax.*,是以 javax.* 也是核心的一部分了,也随JDK一起釋出。
  • 以 org.* 開頭的是各個機構或組織釋出的包,因為這些組織很有影響力,它們的代碼品質很高,是以也将它們開發的部分常用的類随JDK一起釋出。

在包的命名方面,為了防止重名,有一個慣例:大家都以自己域名的倒寫形式作為開頭來為自己開發的包命名,例如百度釋出的包會以 com.baidu.* 開頭,w3c組織釋出的包會以 org.w3c.* 開頭,微學苑釋出的包會以 net.weixueyuan.* 開頭……

組織機構的域名字尾一般為 org,公司的域名字尾一般為 com,可以認為 org.* 開頭的包為非盈利組織機構釋出的包,它們一般是開源的,可以免費使用在自己的産品中,不用考慮侵權問題,而以 com.* 開頭的包往往由盈利性的公司釋出,可能會有版權問題,使用時要注意。

java中常用的幾個包介紹:

包名 說明
java.lang 該包提供了Java程式設計的基礎類,例如 Object、Math、String、StringBuffer、System、Thread等,不使用該包就很難編寫Java代碼了。
java.util 該包提供了包含集合架構、遺留的集合類、事件模型、日期和時間實施、國際化和各種實用工具類(字元串标記生成器、随機數生成器和位數組)。
java.io 該包通過檔案系統、資料流和序列化提供系統的輸入與輸出。
java.net 該包提供實作網絡應用與開發的類。
java.sql 該包提供了使用Java語言通路并處理存儲在資料源(通常是一個關系型資料庫)中的資料API。
java.awt 這兩個包提供了GUI設計與開發的類。java.awt包提供了建立界面和繪制圖形圖像的所有類,而javax.swing包提供了一組“輕量級”的元件,盡量讓這些元件在所有平台上的工作方式相同。
javax.swing
java.text 提供了與自然語言無關的方式來處理文本、日期、數字和消息的類和接口。