org.me.hello这个包有什么作用啊
解决方案 »
- java网络聊天室
- 如何清除html标签与标签之间空格
- 请大家帮忙,我们项目是放在Linux服务器上的,怎样让(jsp)页面的按钮指定到(CHM)格式的帮助文档的具体页面上的?
- 再一个页面中多个下拉框读取Collection出错!
- {applet专题}java apple通过数字签名访问本地资源,能访问的资源总共有哪些?能使用哪些类?欢迎讨论!
- 谁有在线招投标系统,我们可以用代码进行交换
- 动态画表格,为何表头大小会与源表不一样
- jsp连接mysql出现问题!!!!!!!怎么办?
- TOMCAT启动不了的问题
- maven多模块之间的依赖问题
- jsp文件下载统计问题,请各位大侠指点了@@@
- ISA服务器转发请求,IP获取问题
解除耦合
------------------------
在所有程序设计语言里,一个不可避免的问题是对名字或名称的控制。假设您在程序的某个模块里使用了一个名字,而另一名程序员在另一个模块里使用了相同的名字。此时,如何区分两个名字,并防止两个名字互相冲突呢?这个问题在C语言里特别突出。因为程序未提供很好的名字管理方法。C++的类(即Java类的基础)嵌套使用类里的函数,使其不至于同其他类里的嵌套函数名冲突。然而,C++仍然允许使用全局数据以及全局函数,所以仍然难以避免冲突。为解决这个问题,C++用额外的关键字引入了“命名空间”的概念。
由于采用全新的机制,所以Java能完全避免这些问题。为了给一个库生成明确的名字,采用了与Internet域名类似的名字。事实上,Java的设计者鼓励程序员反转使用自己的Internet域名,因为它们肯定是独一无二的。由于我的域名是BruceEckel.com,所以我的实用工具库就可命名为com.bruceeckel.utility.foibles。反转了域名后,可将点号想象成子目录。
在Java 1.0和Java 1.1中,域扩展名com,edu,org,net等都约定为大写形式。所以库的样子就变成:COM.bruceeckel.utility.foibles。然而,在Java 1.2的开发过程中,设计者发现这样做会造成一些问题。所以目前的整个软件包都以小写字母为标准。
Java的这种特殊机制意味着所有文件都自动存在于自己的命名空间里。而且一个文件里的每个类都自动获得一个独一无二的标识符(当然,一个文件里的类名必须是唯一的)。所以不必学习特殊的语言知识来解决这个问题——语言本身已帮我们照顾到这一点