下面几种 package 路径,java 都支持:
com.example.test.gson
com.example.testgson
com.example.$TestGson
com.example.TestGson
com.example.testGson
com.example.测试Gson
但是命名最好有个规范。比包命名中有一个子路径是 TestGson ,乍一看还以为 TestGson 是个类,所以这个命名是不友好。
可以参考一些已有的规范。
oracle 文档
https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html
https://www.oracle.com/java/technologies/javase/codeconventions-namingconventions.html
- 包名中的字母必须全部是小写,以防止和类名、接口名冲突。
- 包名前缀必须是能区分一个组织的顶级域名,倒序写。比如 com.apple。
- 包名子路径不能包含 java 关键词,比如 int。
- 如果域名不符合命名规范,可以将部分字符替换为下划线,或者适当的加下划线。比如:
- 域名为
hyphenated-name.example.org
,建议包名org.example.hyphenated_name
。 - 域名为
example.int
,建议包名为int_.example
- 域名为
123name.example.com
,建议包名为com.example._123name
- 域名为
谷歌的 Java 开发规范
https://google.github.io/styleguide/javaguide.html#s5.2.1-package-names
全部小写,若有多个单词则直接连接在一起,不能有下划线。
符合规范的示例:com.example.deepspace
不符合规范的示例:com.example.deepSpace
、com.example.deep_space