所有程序语言都存在名称管理的问题,如何区分相同名称的模块呢?C里头这个问题格外严重,为了避免名称冲突的问题,C++ classes将函数包装于内,使其他classes内的同名函数隔离,不过由于全局数据和全局函数(global function)的存在,还是有可能发生命名的冲突。于是,C++中引入"命名空间(namesapces)"的概念来解决了这一问题。
为了解决这一问题,Java采用和Internet域名相似的指定词。事实上,Java的设计者希望你将Internet域名反写过来。在Java1.0和1.1中,域名最末的com. edu. org. net等等,按照惯例都应该大写,在Java2时,发现了一些问题,就又变回了小写。
例如:com.bruceeckel.utility.foibles便置于com/bruceeckel/utility/foibles
这样使得每个package都成为一个独一无二的命名空间。每个class也都得到了一个独一无二的识别名称。
文章来源于领测软件测试网 https://www.ltesting.net/