【问题标题】:Is something else than com and org used in java?除了 com 和 org 在 java 中使用的其他东西吗?
【发布时间】:2014-07-03 22:44:16
【问题描述】:

看完Java packages com and org的问题和答案,我还是很好奇:

  1. 是否有一些严格的规则我只能使用com eduorg
  2. 而且,创建包以除此之外的其他内容开头是否是个坏主意?

说,我来自捷克共和国,我拥有PavelJanicek 公司,我可以创建像这样导入的包

 import cz.paveljanicek.usable.awesomeutils;

编辑:由于其中一个答案认为它应该是可能的,我可以将它也应用于新域 TLD 吗?

示例:

import berlin.berlincity.touristguide.api;

【问题讨论】:

  • 可以,这正是我们确定包名的方式。

标签: java import


【解决方案1】:

语言规范将包名称定义为连续的valid identifiers,以. 分隔。

所以约定(出于统一目的)是使用您的域名,但可以使用任何有效的标识符。这也是一个有效的包名:

é.è.û.¥

【讨论】:

    【解决方案2】:

    您应该查看此链接:Java PackagesJava Package namings

    你也应该看看similar topic

    最后要补充一句:

    如果您只是在做没有其他人会使用代码的个人项目,那么您可以编写一个您喜欢的包名称。别 编造一些以 com 开头的东西。或网。或其他顶级 域,因为这意味着您拥有该域名 (即使用 com.john 作为您的包名,只是因为您的名字 碰巧是约翰不是一个好主意)。

    如果您要将代码提供给其他人,您应该使用 全局唯一的包名,根据 Java 约定 表示您应该注册并使用域名。

    简短:使用任何你喜欢的东西:)

    【讨论】:

    • 此答案引用了很好的信息 - 如果您查看回答指南 (stackoverflow.com/help/how-to-answer),社区建议为链接提供一些上下文,以防网站将来下线。
    • @glenatron 感谢您的信息:)
    • @HarmLezz 更新了一些部分
    【解决方案3】:

    是的,如果您拥有 paveljanicek,您就必须这样做。 'com' 和 'org' 有很多,但你可以找到很多其他的; 例如,logback 日志库包含包中的类

    ch.qos.logback....
    

    【讨论】:

      【解决方案4】:

      你可以使用任何你想要的东西,只要遵守 Java 对标识符的限制。

      也就是说,通常使用 Java 约定是安全的,但 killerapp.gui.Main 是一个有效的类标识符

      【讨论】:

        【解决方案5】:

        您错过了answer 中提供的很多信息。这里再次截取Sun 定义的内容:

        唯一包名的前缀总是用全小写的ASCII字母写的,应该是顶级域名之一,目前是com、edu、gov、mil、net、org,或者是英文两个之一- 标识 ISO 标准 3166, 1981 中规定的国家/地区的字母代码。

        今天,我们拥有更多顶级域。重要的部分是以相反的顺序选择您拥有的域。我建议你应该再读一遍答案,慢慢来。目标是通过选择唯一的命名空间来避免命名冲突。并且因为域名已经由一个公司/个人拥有,它们是很好的选择。

        【讨论】:

        • 特别是出于好奇:像“ninja”或“berlin”这样的 TLD 名称是否适用于规则?
        • 我猜是的。您不妨阅读here 列出的规则
        猜你喜欢
        • 2015-10-25
        • 2012-05-01
        • 2016-01-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-07
        • 2016-09-12
        • 1970-01-01
        相关资源
        最近更新 更多