文档

Java™ 教程
隐藏目录
包命名
路径: 学习Java语言
课程:
章节: 创建和使用包

命名一个包

使用Java编程语言编写类和接口的程序员遍布全球,很可能许多程序员会为不同的类型使用相同的名称。事实上,前面的示例就是这样做的:它定义了一个Rectangle类,而java.awt包中已经有了一个Rectangle类。尽管如此,如果这两个类位于不同的包中,编译器仍然允许它们具有相同的名称。每个Rectangle类的完全限定名称包括包名称。也就是说,graphics包中的Rectangle类的完全限定名称是graphics.Rectanglejava.awt包中的Rectangle类的完全限定名称是java.awt.Rectangle

这在大多数情况下都是有效的,除非两个独立的程序员为其包使用相同的名称。如何解决这个问题?约定。

命名约定

包名称使用全小写以避免与类或接口的名称冲突。

公司使用逆转的互联网域名作为包名称的前缀,例如,由example.com公司的程序员创建的名为mypackage的包的包名称为com.example.mypackage

在同一公司内发生的名称冲突需要由公司内的约定进行处理,可能是在公司名称之后加上地区或项目名称(例如,com.example.region.mypackage)。

Java语言中的包以java.javax.开头。

在某些情况下,互联网域名可能不是有效的包名称。如果域名包含连字符或其他特殊字符,如果包名称以数字或其他非法用作Java名称开头的字符开头,或者包名称包含保留的Java关键字,例如"int",则会出现这种情况。在这种情况下,建议的约定是添加下划线。例如:

合法化包名称
域名 包名称前缀
hyphenated-name.example.org org.example.hyphenated_name
example.int int_.example
123name.example.com com.example._123name

上一页: 创建一个包
下一页: 使用包的成员