Update 03-Objects-Everywhere.md

This commit is contained in:
Joe
2019-08-18 18:13:50 +08:00
committed by GitHub
parent 2240a0132a
commit 4c6f47d2f9

View File

@@ -357,7 +357,7 @@ void nothing2() {
在看到第一个 Java 程序之前,我们还必须理解其他几个问题。
#### 命名可见性
### 命名可见性
命名控制在任何一门编程语言中都是一个问题。如果你在两个模块中使用相同的命名,那么如何区分这两个名称,并防止两个名称发生“冲突”呢?在 C 语言编程中这是很具有挑战性的因为程序通常是一个无法管理的名称海洋。C++ 将函数嵌套在类中所以它们不会和嵌套在其他类中的函数名冲突。然而C++ 还是允许全局数据和全局函数因此仍有可能发生冲突。为了解决这个问题C++ 使用附加的关键字引入了*命名空间*。
@@ -374,7 +374,7 @@ Java 采取了一种新的方法避免了以上这些问题:为一个类库生
对于这本书中的例子,我不想让深层次结构给你的学习带来额外的麻烦,这实际上需要你在开始之前学习熟悉一种重量级的 IDE。所以我们的每个章节的示例都位于一个浅的子目录中以章节标题为名。这导致我偶尔会与遵循深层次方法的工具发生冲突。
<!-- Using Other Components -->
#### 使用其他组件
### 使用其他组件
无论何时在程序中使用预先定义好的类,编译器都必须找到该类。最简单的情况下,该类存在于被调用的源代码文件中。此时我们使用该类 —— 即使该类在文件的后面才会被定义Java 消除了所谓的“前向引用”问题)。而如果一个类位于其他文件中,又会怎样呢?你可能认为编译器应该足够智能去找到它,但这样是有问题的。想象一下,假如你要使用某个类,但目录中存在多个同名的类(可能用途不同)。或者更糟糕的是,假设你正在编写程序,在构建过程中,你想将某个新类添加到类库中,但却与已有的类名称冲突。
@@ -393,7 +393,7 @@ import java.util.*;
本书中的示例很小,为简单起见,我们通常会使用 `.*` 形式略过导入。然而,许多教程书籍都会要求程序员逐一导入每个类。
<!-- The static Keyword -->
#### static关键字
### static关键字
类是对象的外观及行为方式的描述。通常只有在使用 `new` 创建那个类的对象后,数据存储空间才被分配,对象的方法才能供外界调用。这种方式在两种情况下是不足的。
@@ -619,4 +619,4 @@ class AllTheColorsOfTheRainbow {
[^10]: 为了保持本书的代码排版紧凑,我并没完全遵守规范,但我尽量会做到符合 Java 标准。
<!-- 分页 -->
<div style="page-break-after: always;"></div>
<div style="page-break-after: always;"></div>