当前位置: 首页 > 知识库问答 >
问题:

Java包命名法律语法规则

林哲茂
2023-03-14

请注意,我不是在询问Java包命名约定。

例如,Java在法律上不允许包名以数字开头。

然而,官方的Java文档似乎并没有涵盖实际的规则,管理什么可以或不可以在一个包名称中使用。

那套合法的包名是什么?

共有1个答案

桓兴腾
2023-03-14

它是一个Java标识符,后跟N(句点+标识符)s。

PackageDeclaration:
{PackageModifier} package Identifier {. Identifier} ;

https://docs.oracle.com/javase/specs/jls/se16/html/jls-7.html#jls-7.4

标识符为(包括某些嵌套定义):

Identifier:
IdentifierChars but not a Keyword or BooleanLiteral or NullLiteral

IdentifierChars:
JavaLetter {JavaLetterOrDigit}

JavaLetter:
any Unicode character that is a "Java letter"

JavaLetterOrDigit:
any Unicode character that is a "Java letter-or-digit"

“Java字母”是方法character.isJavaidEntifierStart(int)为其返回true的字符。

“Java字母或数字”是方法character.isJavaidEntifierPart(int)返回true的字符。

https://docs.oracle.com/javase/specs/jls/se16/html/jls-3.html#jls-identifier

 类似资料:
  • ZigZag解码[E] Nim的游戏[E]

  • 我创造了一个语法 我正在简单的Sphinx4语音识别器中使用它,我将创建程序答案的基本逻辑。 即“程序如何识别单词(代码片段): 有没有办法获得公认的语法规则名称?当做

  • 问题内容: 以下代码是否适用于合法正向引用?如果是,为什么? 问题答案: 上面的代码完全是合法的Java。在Java中,静态字段的初始化如下:首先,将所有字段的类型(0 ,或)设置为默认值,然后按照声明它们的顺序进行初始化。这意味着上述代码可以保证做到以下几点: 将和设置为零,因为这是s 的默认值。 通过调用进行初始化,以读取的值。由于尚未初始化,因此其值仍为0。 初始化为5。 这意味着它将取值为

  • 新手入门 - 隐私保护相关的法律法规汇总 法律法规/部门规章/规范性文件/监管部门政策文件/国家、行业、团体标准 注意:请您知悉并理解,本解读仅供您参考,由于立法和监管政策的变化,可能导致合规要求更新,请您按照最新生效的法律法规、监管政策文件或相关标准的规定执行。本平台不对您的隐私合规行为承担任何责任。 序号 文件名称 生效时间 原文链接 1 网络安全法 2017年6月1日 http://www.

  • RPM 二进制包的命名需遵守统一的命名规则,用户通过名称就可以直接获取这类包的版本、适用平台等信息。 RPM 二进制包命名的一般格式如下: 包名-版本号-发布次数-发行商-Linux平台-适合的硬件平台-包扩展名 例如,RPM 包的名称是 ,其中: httped:软件包名。这里需要注意,httped 是包名,而 httpd-2.2.15-15.el6.centos.1.i686.rpm 通常称为包

  • 问题内容: 命名空间Python程序包(no )和常规Python程序包(具有)之间有什么区别,尤其是对于常规程序包为空时? 我很好奇,因为最近我一直忘了自己制作的包装,而且我从没发现任何问题。实际上,它们的行为似乎与常规软件包相同。 编辑:命名空间包仅受Python 3.3支持(请参阅PEP 420 ),因此自然地,此问题仅适用于Python 3。 问题答案: 阅读Aaron和PEP420的链接