08. 定义类
类
最简单的类,因为该类没有主体所以可省略花括号。
1 | class Customer |
声明一个名为 Customer 的类,不带任何属性或用户定义的构造函数。kotlin 会自动创建一个非参数化的默认构造函数。
通过默认构造函数创建 Customer 类的实例。请注意,kotlin 中没有新的关键字。
声明具有两个属性的类
1 | class Contact(val id: Int, var email: String) // 1 |
最简单的类,因为该类没有主体所以可省略花括号。
1 | class Customer |
声明一个名为 Customer 的类,不带任何属性或用户定义的构造函数。kotlin 会自动创建一个非参数化的默认构造函数。
通过默认构造函数创建 Customer 类的实例。请注意,kotlin 中没有新的关键字。
声明具有两个属性的类
1 | class Contact(val id: Int, var email: String) // 1 |
GraalVM 这是一个高性能的 JDK,旨在加快 Java 应用程序的性能,同时消耗更少的资源。GraalVM 提供了两种运行 Java 应用程序的方式: 使用 Graal 即时(JIT)编译器在 HotSpot JVM 上运行,或者作为提前(AOT)编译的本机可执行文件运行。除了 Java 之外,它还提供了 JavaScript、 Ruby、 Python 和许多其他流行语言的运行时。GraalVM 的多语言功能使得在单个应用程序中混合编程语言成为可能,同时消除了任何外语调用成本。
官网上目前有两个版本,一个是社区版,一个是企业版。
什么是 GraalVM Native Image?
GraalVM Native Images 是独立的可执行文件,可以通过提前处理编译的 Java 应用程序来生成。本机映像通常比 JVM 映像占用的内存更少,启动速度更快。
Kotlin 标准库里有一些支持 lambda 的通用工具类标准函数。本章,我们会学习 apply、let、 run、with、also 和 takeIf 这六个常用标准函数。标准函数简化代码的威力。它们不仅能让代码简洁易读。通过示例看看如何使用它们。
这一章还会用到一种叫接收者(receiver)的类型实例。这是因为,Kotlin 的标准函数本质上 都是扩展函数(extension function),而接收者是跟扩展函数相关的术语。扩展(extension)很灵 活,方便定义用于各种类型的函数,我们将在之后的章节深入学习它。
Kotlin 标准库函数 let 可用于范围界定和 null 检查。当对一个对象调用时,let 执行给定的代码块并返回其最后一个表达式的结果。对象可以在块内通过引用(默认情况下)或自定义名称访问。