File tree 1 file changed +3
-3
lines changed
1 file changed +3
-3
lines changed Original file line number Diff line number Diff line change @@ -61,7 +61,7 @@ import java.util.*
61
61
62
62
### 代码组织
63
63
64
- 当编译一个 ** .java** 文件时,** .java** 文件的每个类都会有一个输出文件。每个输出的文件名和 ** .java** 文件中每个类的类名相同,只是后缀名是 ** .class** 。因此,在编译少量的 ** .java** 文件后,会得到大量的 ** .class** 文件。如果你使用过编译型语言,那么你可能习惯编译后产生一个中间文件(通常称为“obj”文件),然后与使用链接器(创建可执行文件)或类库生成器(创建类库)产生的其他同类文件打包到一起的情况。这不是 Java 工作的方式。在 Java 中,可运行程序是一组 ** .class** 文件,它们可以打包压缩成一个 Java 文档文件(JAR,使用 ** jar** 文档生成器)。Java 解释器负责查找、加载和解释这些文件。
64
+ 当编译一个 ** .java** 文件时, ** .java** 文件的每个类都会有一个输出文件。每个输出的文件名和 ** .java** 文件中每个类的类名相同,只是后缀名是 ** .class** 。因此,在编译少量的 ** .java** 文件后,会得到大量的 ** .class** 文件。如果你使用过编译型语言,那么你可能习惯编译后产生一个中间文件(通常称为“obj”文件),然后与使用链接器(创建可执行文件)或类库生成器(创建类库)产生的其他同类文件打包到一起的情况。这不是 Java 工作的方式。在 Java 中,可运行程序是一组 ** .class** 文件,它们可以打包压缩成一个 Java 文档文件(JAR,使用 ** jar** 文档生成器)。Java 解释器负责查找、加载和解释这些文件。
65
65
66
66
类库是一组类文件。每个源文件通常都含有一个 ** public** 类和任意数量的非 ** public** 类,因此每个文件都有一个 ** public** 组件。如果把这些组件集中在一起,就需要使用关键字 ** package** 。
67
67
@@ -327,7 +327,7 @@ public class Cookie {
327
327
}
328
328
```
329
329
330
- 记住,** Cookie.java** 文件产生的类文件必须位于名为 ** dessert** 的子目录中,该子目录在 ** hiding** (表明本书的"封装"章节)下,它必须在 CLASSPATH 的几个目录之下。不要错误地认为 Java 总是会将当前目录视作查找行为的起点之一。如果你的 CLASSPATH 中没有 ** .** ,Java 就不会查找当前目录。
330
+ 记住,** Cookie.java** 文件产生的类文件必须位于名为 ** dessert** 的子目录中,该子目录在 ** hiding** (表明本书的"封装"章节)下,它必须在 CLASSPATH 的几个目录之下。不要错误地认为 Java 总是会将当前目录视作查找行为的起点之一。如果你的 CLASSPATH 中没有 ** .** ,Java 就不会查找当前目录。
331
331
332
332
现在,使用 ** Cookie** 创建一个程序:
333
333
``` java
@@ -384,7 +384,7 @@ class Pie {
384
384
}
385
385
```
386
386
387
- 最初看上去这两个文件毫不相关,但在 ** Cake** 中可以创建一个 ** Pie** 对象并调用它的 ` f() ` 方法。(注意,你的 CLASSPATH 中一定得有 ** .** ,这样文件才能编译)通常会认为 ** Pie** 和 ` f() ` 具有包访问权限,因此不能被 ** Cake** 访问。它们的确具有包访问权限,这是部分正确。** Cake.java** 可以访问它们是因为它们在相同的目录中且没有给自己设定明确的包名。Java 把这样的文件看作是隶属于该目录的默认包中,因此它们为该目录中所有的其他文件都提供了包访问权限。
387
+ 最初看上去这两个文件毫不相关,但在 ** Cake** 中可以创建一个 ** Pie** 对象并调用它的 ` f() ` 方法。(注意,你的 CLASSPATH 中一定得有 ** .** ,这样文件才能编译)通常会认为 ** Pie** 和 ` f() ` 具有包访问权限,因此不能被 ** Cake** 访问。它们的确具有包访问权限,这是部分正确。** Cake.java** 可以访问它们是因为它们在相同的目录中且没有给自己设定明确的包名。Java 把这样的文件看作是隶属于该目录的默认包中,因此它们为该目录中所有的其他文件都提供了包访问权限。
388
388
389
389
### private: 你无法访问
390
390
You can’t perform that action at this time.
0 commit comments