当前位置: 首页 > 面试题库 >

没有域关联的Java软件包名称的约定是什么?

葛驰
2023-03-14
问题内容

我找不到关于SO的Q / A来回答我的 确切 问题,所以我想我将其发布并看看会回来什么。

就Java包的命名约定而言,我知道它应该是反向域名:com.whatever.stuff并且我得到了关于不混合大小写,连字符,关键字等的规则。

我还阅读了Java语言规范的7.7节(唯一包名称)。据我所知,Java的规则是使用反向域来确保唯一性……如果您没有,请去获取一个:

You form a unique package name by first having (or belonging to an organization that has) an Internet domainname, such as sun.com. -第7.7节

因此,如果我对花钱买一个域名不感兴趣,那么我不属于我可以piggy取其名字的公司,那么我是否应该遵循命名约定的任何部分?
?我当时想可以随便给它起一个我想使用的唯一名称,但我只是想知道我是否丢失了任何东西。

注意: 我想将我的软件包发布给其他开发人员使用,所以我不想只做一些可以在我的系统上工作的事情,而是想做一些更标准的事情。

我添加了android标签,因为我要编写的Java包将在Android应用程序中使用,但不确定是否有来自android开发人员的不同意见。


问题答案:

如果您要分发很多东西,我真的建议您获取一个域名。但是,另一种选择是使用您的电子邮件:例如bob@gmail.com将变为com.gmail.bob。这不像使用域名那样普遍,但是仍然可以由某些人完成,并且仍然可以确保唯一性。



 类似资料:
  • 问题内容: 因此,谈到软件包时,大多数Java资源都提到了安装程序。但是,我没有在公司工作,也没有网站。是否有任何通用的命名约定?一个电子邮件地址,也许吗? 问题答案: 使用顶级域名(例如“bernard”)或其他独特的域名。重要的是,该域是唯一的,以便避免冲突,而不是它以真实的Internet顶级域(例如org或com)开头。例如

  • 问题内容: 在JRE中,Sun的内部软件包以2个顶级域(sun和com)为前缀。例如, 对我来说,他们选择哪个前缀似乎很随意。我很好奇Sun为此使用了什么规则。 问题答案: “ com.sun”约定是更可取的格式,因为它遵循为命名Java软件包而建立的“命名约定”。 http://java.sun.com/docs/codeconv/html/CodeConventions.doc8.html 您

  • 问题内容: 从http://cs-fundamentals.com/tech-interview/java/which-java-package-is- imported-by-default.php 在每个Java程序中,可以有一个未命名的程序包,它只是一个没有名称的程序包。如果在编写类定义时省略了package语句,则将类名放入默认包中,该包没有名称。Java编译器会自动导入此软件包。 真的吗

  • 问题内容: 这是我的代码示例: 是否可以使用我的paxkage(bio)中的函数而无需指定包名称: ? 问题答案: 您可以将其用作导入声明,例如: 如果出现显式的句号()而不是名称,则在该软件包的package块中声明的所有软件包导出的标识符都将在导入源文件的file块中声明,并且 必须在不使用限定符的情况下进行访问 。 这就是像govey这样的测试框架所做的: 您不需要使用,或者由于导入以’开头

  • 问题内容: 我在用Maven或Eclipse编译一些Scala时遇到问题,我尝试从Java jar导入一个包含名称空间和同名类的类。 我可以用编译。 例如,Java项目(jar)包含: 编译器抱怨: 在Scala 2.9.0.1(和)中使用Maven 3.0.03 / Eclipse 3.7.1 。 我遇到问题的jar是-它肯定包含几个实例,其中存在同名的名称空间和对象。 我正在尝试在Scala中

  • 我的域名名称是3dtopo.com。显然Java不允许包域名以数字开头。 为什么Java反向域名不遵循域名一样的规则?我真的不想把我的包裹命名为com.threedtopo.. 首先,这不是我的域名!任何人都可以自由注册和使用该域名。此外,它是非常尴尬的,不是我的业务名称。 有人有包名建议吗?