先看一下XML命名空间:根据W3C命名空间在XML推荐中的定义,XML namespace是由国际化资源标识符(IRI)标识的XML元素和属性的集合;这个集合通常称为XML“vocabulary”。
在Java中,包是为了防止命名冲突、控制访问权限、方便查找和定位类/接口/枚举/注解等。
设计出命名空间是为了提供一种将一组名称和另一组名称分开的方式。在一个命名空间下的类名不会和另一个命名空间下的类名产生冲突。
定义一个包:
package package_name
限制类之间的相互访问限制在同一个包中,但是C#中的namespace无法做到这一点。
定义命名空间:
namespace namespace_name {
// code declarations
}
在Java中,目录结构应该与包结构匹配,但在c#中不是必需的。
在c#中,在一个文件中添加多个名称空间,而在Java中,一个文件属于一个包。