Java教程 Java類中的包
本文是Java教程之Java類中的包。
Java應(yīng)用是由若干個類組成的。但是從邏輯上考慮,這些類解決的問題都是不同的。比如某些類解決了數(shù)據(jù)庫訪問問題,某些類解決了安全控制問題…就如同我們計算機硬盤上的文檔,我們不會把它們都雜亂無章的放在某個硬盤的根目錄下,而是按照個人習(xí)慣進行分類,放在不同的文件夾下。Java應(yīng)用中的類也一樣,也應(yīng)該按照邏輯進行分類,放在不同的目錄下,這就是包的概念。
雖然Java語法本身,不要求必須給某個類顯式指明包名,可以使用默認(rèn)包。但是,在開發(fā)Java項目的過程中,任何類都應(yīng)該有包。對一個類指定包名,使用如下語法即可:
- package com.csst.db;
- public class CustomerDAO {
- }
只要指定了package,編譯CustomerDAO后,class文件就將存在于com/csst/db文件夾下。從物理上講,包其實就是文件夾。但是需要注意的是:只要一個類指定了包名,那么包名就是名字空間的一部分,也就是說,CustomerDAO.class的名字其實是com.csst.db.CustomerDAO,而不是CustomerDAO。正因為如此,使用該類,就得指定完整的名字,如:
- package com.csst.service;
- class CustomerService {
- private com.csst.db.CustomerDAO dao;
注:如果CustomerService的包名與CustomerDAO包名相同,那么不需要指定包名。
而在實際應(yīng)用中,沒有人愿意寫這樣冗長的名字,一般都是使用import關(guān)鍵字,把不同包的類進行導(dǎo)入。
- package com.csst.service;
- import com.csst.db.CustomerDAO;
- public class CustomerService {
- private CustomerDAO dao;
- }
注:如果需要同時使用com.csst.db包中很多類,可以使用import com.csst.db.*語句導(dǎo)入多個類。
總之,包就是從邏輯上將類進行分離。當(dāng)Java類有了Java類中的包后,不僅能很好的避免重名問題(包名就是類名的一部分,保證包名不同較容易),而且還能很好得使用Java語言的修飾符,進行權(quán)限控制。
【編輯推薦】