这一章涵盖了
- 类和接口
- 重要属性和构造函数
- 数据类和类委托
- 使用
object
关键词
这一章会在使用Kotlin的类方面给你带来更深入的理解。在第2章,你领略了声明一个类的基本语法。你了解了如何声明方法和属性、使用简单的主构造函数(它们是不是很好用?)以及使用枚举。但这里将会看到更多的干货。
Kotlin的类和接口跟Java中对应的(概念)有点不同:比如,接口可以包含属性声明。跟Java不同,Kotlin的声明默认是final
和public
的。另外,嵌套类并不是默认在内部的:它们不包含(所属)外部类的隐式引用。
在构造函数方面,简短的主构造器语法可以应对大多数情况,但是Kotlin也有完整的语法来让你用重要的初始化逻辑声明构造函数。对属性也是同样的道理:精简语法很好用,但是你也可以方便的重定义琐碎的访问器实现。
Kotlin编译器可以生成有用的方法来避免琐碎的信息。把一个类声明为data
类将指示编译器为这个类生成多个标准的方法。你也可以避免手动声明方法,因为Kotlin原生支持委托模式。
这个章节也描述了一个声明类并创建类实例的新的object
关键字。这个关键字用来表示单例对象(singleton objects)、伴生对象(companion objects)和对象表达式(类似于Java的匿名类)。让我们以讨论类和接口以及副标题Kotlin中的类层级定义作为开篇吧!