mirror of
https://github.com/LingCoder/OnJava8.git
synced 2026-09-02 04:37:56 +08:00
Update 11-Inner-Classes.md (#570)
- 双引号挪到 `**` 内部 - 使用英文双引号(否则 gitbook 下显示 怪异) - 添加必要空格, - java => Java
This commit is contained in:
@@ -1421,7 +1421,7 @@ Anonymous inner 9
|
||||
|
||||
由于编译后每个类都会产生一个 **.class** 文件,其中包含了如何创建该类型的对象的全部信息(此信息产生一个"meta-class",叫做 **Class** 对象)。
|
||||
|
||||
你可能猜到了,内部类也必须生成一个 **.class** 文件以包含它们的 **Class** 对象信息。这些类文件的命名有严格的规则:外部类的名字,加上“**$**”,再加上内部类的名字。例如,**LocalInnerClass.java** 生成的 **.class** 文件包括:
|
||||
你可能猜到了,内部类也必须生成一个 **.class** 文件以包含它们的 **Class** 对象信息。这些类文件的命名有严格的规则:外部类的名字,加上 **"$"** ,再加上内部类的名字。例如,**LocalInnerClass.java** 生成的 **.class** 文件包括:
|
||||
|
||||
```java
|
||||
Counter.class
|
||||
@@ -1430,9 +1430,9 @@ LocalInnerClass$LocalCounter.class
|
||||
LocalInnerClass.class
|
||||
```
|
||||
|
||||
如果内部类是匿名的,编译器会简单地产生一个数字作为其标识符。如果内部类是嵌套在别的内部类之中,只需直接将它们的名字加在其外部类标识符与“**$**”的后面。
|
||||
如果内部类是匿名的,编译器会简单地产生一个数字作为其标识符。如果内部类是嵌套在别的内部类之中,只需直接将它们的名字加在其外部类标识符与 **"$"** 的后面。
|
||||
|
||||
虽然这种命名格式简单而直接,但它还是很健壮的,足以应对绝大多数情况。因为这是 java 的标准命名方式,所以产生的文件自动都是平台无关的。(注意,为了保证你的内部类能起作用,Java 编译器会尽可能地转换它们。)
|
||||
虽然这种命名格式简单而直接,但它还是很健壮的,足以应对绝大多数情况。因为这是 Java 的标准命名方式,所以产生的文件自动都是平台无关的。(注意,为了保证你的内部类能起作用,Java 编译器会尽可能地转换它们。)
|
||||
|
||||
|
||||
<!-- Summary -->
|
||||
|
||||
Reference in New Issue
Block a user