> For the complete documentation index, see [llms.txt](https://rikka-2.gitbook.io/effective-kotlin-zhong-wen-ban/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://rikka-2.gitbook.io/effective-kotlin-zhong-wen-ban/good-design/di-wu-zhang.md).

# 第五章：对象的创建

虽然 Kotlin 可以用函数式风格编程，但也可以用面向对象（OOP）编程，类似 Java。 在 OOP 中，我们需要创建每个使用的对象，或者至少定义应该如何创建对象，而不同的创建方法有不同的特征，知道我们有什么选择是很重要的，这就是为什么本章将展示对象创建的不同方法，并阐述它们的优缺点。

如果你熟悉 Joshua Bloch的《Effective Java》 一书，那么你可能会注意到这一章和那本书之间有一些相似之处，这并非巧合，本章与 《Effective Java》的第一章有关，尽管 Kotlin 和 Java 非常不同，并且只有少量的知识可以共用。例如，在 Kotlin 中是不能使用静态方法的，但是我们有非常好的替代方案，例如使用顶层函数或伴生对象函数，它们的工作方式与静态方法不同，所以理解它们是很重要的。类似地，对于其他项目，你可以注意到相似之处，但是 Kotlin 引入的更改非常重要，这是为了让你感受到乐趣：这些变化主要是为了提供更多的创造性，或迫使你使用更好的编程风格。 Kotlin 是一个功能强大、设计良好的语言，本章主要目的是打开你的眼界，让你了解一些新的东西。
