C#命名空間與java包的區(qū)別分析
這篇文章主要介紹了C#命名空間與java包的區(qū)別,較為詳細的分析了C#命名空間與java包的相同點與不同點,非常具有實用價值,需要的朋友可以參考下
本文實例分析了C#命名空間與java包的區(qū)別。分享給大家供大家參考。具體分析如下:
相同點:
1、都是為了重用性(reusebility)——軟件工程中一個非常重要的目標。
2、C#里面的命名空間和java中的包都屬于訪問權(quán)限的控制機制。
不同點:
1、C#命名空間只是一種邏輯上的結(jié)構(gòu),它允許所組織的類文件的物理存放位置與邏輯結(jié)構(gòu)不一致,而Java中類文件的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致。
2、Java的package本身沒有子包的概念,所有package都是并列的關(guān)系,沒有誰包含誰的問題。比如:org.dominoo.action和org.dominoo.action.asl之間絕對沒有包與子包的關(guān)系。它們是各自獨立的包,各自擁有自己的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之間就可能存在包與子包的關(guān)系.
3、Java中使用import語句而C#中使用using namespace語句。
希望本文所述對大家的C#程序設(shè)計有所幫助。
更多信息請查看IT技術(shù)專欄