diff --git a/README.md b/README.md index b3a7bf6..a5b3daa 100644 --- a/README.md +++ b/README.md @@ -58,9 +58,10 @@ 1. 本书排版布局和翻译风格上参考了**阮一峰**老师的[中文技术文档的写作规范](https://github.com/ruanyf/document-style-guide) 2. 采用第一人称叙述。 -3. 针对中英行文差异,避免冗余啰嗦的逐字逐句翻译。部分主题无关的内容和重复描写会被精简掉。 -3. 译者在翻译中参考了谷歌翻译,百度翻译,有道翻译的译文以及《Java编程思想》第四版中文版的部分内容,并尽量规避第四版中已知的翻译死板,生造专有名词,语言精炼度差等的翻译问题。最后再结合译者自己的理解,尽量做到专业、简练和语言本地化,方便大家更好的理解学习,同时节约时间。 +3. 针对中英行文差异,避免冗余啰嗦的逐字逐句翻译。部分主题无关的内容、重复描写、多余连接助词、形容词会被概括或精简掉。 + +3. 译者在翻译中参考了谷歌翻译,百度翻译,有道翻译的译文以及《Java编程思想》第四版中文版的部分内容,并尽量规避第四版中已知的翻译死板,生造专有名词,语言精炼度差等的翻译问题。最后再结合译者自己的理解进行本地化翻译,尽量做到专业和言简意赅,方便大家更好的理解学习,同时节约时间。 4. 由于译者个人能力、时间有限,如有翻译错误和笔误的地方,还请大家批评指正! diff --git a/SUMMARY.md b/SUMMARY.md index 3e56956..07cbaeb 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -5,7 +5,7 @@ * [前言](book/00-Preface.md) * [教学目标](book/00-Preface.md#教学目标) * [语言设计错误](book/00-Preface.md#语言设计错误) - * [测试用例](book/00-Preface.md#测试用例) + * [代码示例](book/00-Preface.md#代码示例) * [普及性](book/00-Preface.md#普及性) * [关于Andriod程序员](book/00-Preface.md#关于Andriod程序员) * [电子版权声明](book/00-Preface.md#电子版权声明) @@ -14,15 +14,15 @@ * [感谢的人](book/00-Preface.md#感谢的人) * [其他](book/00-Preface.md#其他) * [简介](book/00-Introduction.md) - * [先决条件](book/00-Introduction.md#先决条件) + * [前提条件](book/00-Introduction.md#前提条件) * [JDK文档](book/00-Introduction.md#JDK文档) * [C编程思想](book/00-Introduction.md#C编程思想) * [源码下载](book/00-Introduction.md#源码下载) - * [编码规范](book/00-Introduction.md#编码规范) + * [编码样式](book/00-Introduction.md#编码样式) * [BUG提交](book/00-Introduction.md#BUG提交) * [邮箱订阅](book/00-Introduction.md#邮箱订阅) * [Java图形界面](book/00-Introduction.md#Java图形界面) -* [第一章 什么是对象](book/01-What-is-an-Object.md) +* [第一章 对象的概念](book/01-What-is-an-Object.md) * [抽象](book/01-What-is-an-Object.md#抽象) * [接口](book/01-What-is-an-Object.md#接口) * [方法](book/01-What-is-an-Object.md#方法) diff --git a/book/00-Introduction.md b/book/00-Introduction.md index 3c2671a..f5bce74 100644 --- a/book/00-Introduction.md +++ b/book/00-Introduction.md @@ -1,7 +1,7 @@ # 简介 -> “我的语言极限,即是我的世界的极限。” ——路德维希·维特根斯坦 +> “我的语言极限,即是我的世界的极限。” ——路德维希·维特根斯坦(*Wittgenstein*) 这句话对于编程语言来说也一样。你所使用的编程语言会将你的思维模式固化并逐渐远离其他语言。Java 作为一门傲娇的派生语言尤其如此。最早的语言设计者为了不想在项目中使用 C ++,而创造了这种看起来很像 C ++,却比 C ++有了改进的新语言(他们的原始项目从未实现过)。虚拟机和垃圾回收机制是其最核心的变化,这两个概念本书后面的章节都会有详细描述。 不仅如此,Java 还在其他方面推动行业了发展。例如,现在绝大多数编程语言都包含文档注释语法和 HTML 文档生成的工具。Java 最主要的概念之一“对象”来自SmallTalk语言。Java 定义了“对象”(在下一章中描述)为编程的基本单元。于是万物皆对象。 @@ -9,9 +9,9 @@ 其他 Java 语言决策并没有像承诺的那样完成。在本书中,我会尝试解释这些。你不仅了解这些功能,还要了解为什么他们可能对你不太适用。这无关 Java 是一种好语言或者坏语言。一旦你了解了该语言的缺陷和局限性,你就能够: -1. 当遇到似乎“已停用”的功能特性时,不会疑惑为什么. +1. 遇到“已停用”的功能特性时不会疑惑。 -2. 通过了解界限的位置来更好地设计和编码。 +2. 了解 Java 语言界限,更好地设计和编码。 编程有关管理复杂性;问题的复杂性依赖于机器的复杂性。由于这种复杂性,我们的大多数编程项目都失败了。许多语言设计决策时都考虑到了复杂性,但在某些时候,其他问题也势必不会少的,程序员不可避免地“碰壁”。例如,C ++必须向后兼容C(允许C程序员轻松迁移),并且效率很高。这些目标诚然很好,并且也解释了为什么C ++在编程界取得了成功。为了保证兼容性的代价会造成语言额外的复杂性。当然,你可以责怪程序员和管理人员,但如果一种语言可以通过捕捉异常来提供有用的信息,为什么不呢? @@ -20,7 +20,7 @@ -## 先决条件 +## 前提条件 阅读本书需要读者对编程有基本的了解: @@ -65,11 +65,11 @@ 如果您在源代码中发现错误,请在下面的网址提交更正:https://github.com/BruceEckel/OnJava8-examples/issues -## 编码规范 +## 编码样式 -在本书的文本中,标识符(关键字,方法,变量和类名)以粗体,固定宽度代码字体设置。一些关键字,例如类,被大量使用,以至于粗体可能变得乏味。足够独特的那些保留为普通字体。我对本书中的示例使用了特定的编码风格。本书的格式约束中尽可能地遵循Oracle本身在其站点上找到的几乎所有代码中使用的样式,并且在大多数 Java 开发环境受支持。在本书中我使用了我自己喜欢的一种字体风格。Java 是一种自由的编程语言,您也可以使用 IDE(集成开发环境)工具(如IntelliJ IDEA,Eclipse或NetBeans)将格式更改为适合您的格式。 +本书中代码标识符(关键字,方法,变量和类名)以粗体,固定宽度代码字体显示。像“**class**”这种在代码中高频率出现的关键字可能让你觉得粗体有点乏味。其他显示为正常字体。本书文本格式尽可能遵循 Oracle 常见样式,并保证在大多数 Java 开发环境中被支持。书中我使用了自己喜欢的字体风格。Java 是一种自由的编程语言,你也可以使用 IDE(集成开发环境)工具(如 IntelliJ IDEA,Eclipse或NetBeans)将格式更改为适合你的格式。 -本书中的代码文件使用自动化工具进行测试,并在最新版本的 Java 编译通过(除了那些特别标记的错误之外)。本书重点介绍并使用 Java 8进行测试。如果您必须了解更早的语言版本,可以在[www.OnJava8.com](http://www.OnJava8.com) z免费下载 *Thinking in Java*。 +本书代码文件使用自动化工具进行测试,并在最新版本的 Java 编译通过(除了那些特别标记的错误之外)。本书重点介绍并使用 Java 8进行测试。如果您必须了解更早的语言版本,可以在[www.OnJava8.com](http://www.OnJava8.com)免费下载 *Thinking in Java*。 ## BUG提交 diff --git a/book/00-Preface.md b/book/00-Preface.md index 2aba557..1b7e238 100644 --- a/book/00-Preface.md +++ b/book/00-Preface.md @@ -13,7 +13,7 @@ ## 教学目标 -每章教授一个或一组相关的概念,并且这些知识不依赖于尚未学习到的章节。这样以来,学习者可以在当前知识的背景框架下循序渐进地掌握JAVA。 +每章教授一个或一组相关的概念,并且这些知识不依赖于尚未学习到的章节。这样以来,学习者可以在当前知识的背景框架下循序渐进地掌握 JAVA 。 本书的教学目标: @@ -54,9 +54,9 @@ -## 测试用例 +## 代码示例 -本书中的测试用例基于 Java 8和Grade编译构建,并且这些测试用例都保存在[这个自由访问的GitHub的仓库](https://github.com/BruceEckel/OnJava8-Examples) 中。我们需要内置的测试框架在每次构建系统时运行,否则你将无法保证自己代码的可靠性。为了在本书中实现这一点,我创建了一个测试系统来显示和验证大多数示例的输出结果。这个输结果我会附加在示例结尾的代码块中。有时仅显示必要的那几行或者首尾行。利用这种方式来改善读者的阅读和学习体验,同时也提供了一种验证示例正确性的方法。 +本书中的代码示例基于 Java 8和 Grade 编译构建,并且这些代码示例都保存在[这个自由访问的GitHub的仓库](https://github.com/BruceEckel/OnJava8-Examples) 中。我们需要内置的测试框架在每次构建系统时运行,否则你将无法保证自己代码的可靠性。为了在本书中实现这一点,我创建了一个测试系统来显示和验证大多数示例的输出结果。这个输结果我会附加在示例结尾的代码块中。有时仅显示必要的那几行或者首尾行。利用这种方式来改善读者的阅读和学习体验,同时也提供了一种验证示例正确性的方法。 diff --git a/book/01-What-is-an-Object.md b/book/01-What-is-an-Object.md index 40e616b..09eaa22 100644 --- a/book/01-What-is-an-Object.md +++ b/book/01-What-is-an-Object.md @@ -1,4 +1,4 @@ -# 第一章 什么是对象 +# 第一章 对象的概念 ------