Java
包被用來組織文件或公共類型以避免類型沖突。包結構可以映射到文件系統。
System.Security.Cryptography.AsymmetricAlgorithm aa;
可能被替換:
import System.Security.Crypography; class xxx { ... AsymmetricAlgorithm aa;
軟件包沒有別名。你必須使用導入語句或完全限定名稱來提及特定的類型。
package N1.N2; class A {} class B {}
要么
package N1.N2; class A {}
另一個源文件:
package N1.N2; class B {}
包不能嵌套。一個源文件只能有一個包語句。
C#
命名空間被用來組織程序,既作為一個程序的“內部”組織系統,也作為一個“外部”組織系統。
System.Security.Cryptography.AsymmetricAlgorithm aa;
可能被替換:
using System.Security.Crypography; AsymmetricAlgorithm aa;
或者,可以指定命名空間的別名,例如
using myAlias = System.Security.Crypography;
然后參考該類
myAlias.AsymmetricAlgorithm
namespace N1.N2 { class A {} class B {} }
要么
namespace N1
{
namespace N2
{ class A {} class B {} } }
from: https://cloud.tencent.com/developer/ask/35308
http://www.javacamp.org/javavscsharp/namespace.html