C#命名空間與java包的區別分析
這篇文章主要介紹了C#命名空間與java包的區別,較為詳細的分析了C#命名空間與java包的相同點與不同點,非常具有實用價值,需要的朋友可以參考下
本文實例分析了C#命名空間與java包的區別。分享給大家供大家參考。具體分析如下:
相同點:
1、都是為了重用性(reusebility)——軟件工程中一個非常重要的目標。
2、C#裡面的命名空間和java中的包都屬於訪問權限的控制機制。
不同點:
1、C#命名空間只是一種邏輯上的結構,它允許所組織的類文件的物理存放位置與邏輯結構不一致,而Java中類文件的物理結構必須與邏輯結構一致。
2、Java的package本身沒有子包的概念,所有package都是並列的關系,沒有誰包含誰的問題。比如:org.dominoo.action和org.dominoo.action.asl之間絕對沒有包與子包的關系。它們是各自獨立的包,各自擁有自己的class/interface的集合。在org.dominoo.action.asl的某個java文件裡,如果想引用org.dominoo.action裡的某個class/interface,則必須import org.dominoo.action。
C++/C#的namespace方案則不然,一個namespace可以有自己的sub-namespace,我們不妨將namespace也稱為package,那麼C++/C#的package之間就可能存在包與子包的關系.
3、Java中使用import語句而C#中使用using namespace語句。
希望本文所述對大家的C#程序設計有所幫助。