为了将类组织起来成为组,从而对类进行管理,java 和.net分别引入了两个概念包和命名空间。
它们的作用主要如下:
1.易于查找和使用适当。
2.形成层次的结构.
3.缩小了名称冲突的范围,易于管理名称.
但是这两个概率又有不同:
1.Java 语言要求包声明的层次和实际保存类的字节码文件的目录结构存在对应关系,以便将来使用该类时能通过包名(也就是目录名)查找到所需要的类文件。简单地说就是包的层次结构需要和文件夹的层次对应。而.net命名空间没有这方面的要求。
2.在.net中一个程序一旦using哪个namespace,就可以通过它向下访问它的子包,而无需指出全路经。在java中,必须指出全路径。
相比之下:
.net的命名空间更加灵活,但也容易犯错。而java的包相当于加入了一些编码规范,你必须按照这来。