文档

Java™ 教程-Java Tutorials 中文版
命名一个包
Trail: Learning the Java Language
Lesson: Packages
Section: Creating and Using Packages

命名一个包

随着全世界程序员使用 Java 编程语言编写类和接口,很多程序员可能会对不同类型使用相同的名称。实际上,前面的示例就是这样:当 java.awt 包中已经存在 Rectangle 类时,它定义了一个 Rectangle 类。尽管如此,编译器允许两个类在不同的包中具有相同的名称。每个 Rectangle 类的完全限定名称包括包名称。也就是说,graphics 包中 Rectangle 类的完全限定名是 graphics.Rectangle,以及 java.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

Previous page: Creating a Package
Next page: Using Package Members