对 Java 语言规范的更改
这里还有一些更改,但主要是为了支持局部变量类型推断。
-
第3.8节:标识符(第23页)。在忽略了可忽略的字符之后,标识符的等价性现在被考虑了。这似乎是合乎逻辑的。
(第24页)一个新的 Token,TypeIdentifier,它支持对局部变量类型推断的新用法,而 var 的使用不是关键字,而是一个具有特殊含义的标识符,作为局部变量声明的类型。
-
第4.10.5节:类型预测(第76页)。这是一个相当复杂的部分,它涉及到捕获变量、嵌套类以及如何使用局部变量类型推断。我建议你阅读规范中的这一部分,而不是试图解释它。
-
第6.1节:声明(第134页)。一个反映使用 TypeIdentifier 来支持局部变量类型的推断的小改动。
-
第6.5节:确定名字的含义(第153页,第158页和第159页)。根据类型标识符的使用而更改类类型。
-
第6.5.4.1:简单的 PackageOrTypeNames(第160页)
-
第6.5.4.2节:合规的 PackageOrTypeNames(第160页)。这两种方式都与使用 TypeIdentifier 有细微的变化。
-
第7.5.3:单静态导入声明(第191页)。这改变了导入具有相同名称的静态类型的规则。除非类型是相同的,否则这将成为一个错误,在这种情况下,重复被忽略。
-
第7.7.1:依赖(第198页)。如果你明确声明一个模块需要 java.base ,那在必要的关键字之后,你就不能再使用修饰符(例如静态)了。
-
第8部分:正式参数(第244页)。接收者参数可能只出现在一个实例方法的 formalparameters 列表,或者是一个内部类的构造函数中,其中内部类没有在静态上下文中声明。
-
第9.7.4节:注释可能出现的地方(第335页)。有一个与局部变量类型推断相关的变更。
-
第14.4部分:局部变量声明语句(第433页)。实现局部变量类型推断所需的大量更改。
-
第14节:增强的 for 语句(第455页)。这个结构已经更新,包括对局部变量类型推断的支持。
-
第14.20.3节:try-with-resources(474页)。这个结构已经更新,包括对局部变量类型推断的支持。
最后,第 19 章有多处语法更新,反映了应更多使用 TypeIdentifier 类型标识符,而不仅仅是 Identifier 标识符,以支持局部变量类型推断。
下载地址:https://www.zy139.cn/content/2019/3/1/204.html