定义
在 Kotlin 中,object
关键字可以用来声明对象。对象可以分为两种:
用途
对象可以用于以下场景:
object
关键字声明的对象只有一个实例,类似于 Java 中的单例模式。object
关键字声明的对象可以包含静态方法,类似于 Java 中的静态方法。object
关键字声明的对象可以表示枚举,类似于 Java 中的枚举。和普通类的区别
对象和普通类的区别主要体现在以下几点:
使用示例代码
对象表达式
fun main(args: Array<String>) {
val adHoc = object {
var x: Int = 0
var y: Int = 0
}
println(adHoc.x + adHoc.y) // 0
}
对象声明
object AppConfig {
val version = "1.0.0"
}
fun main(args: Array<String>) {
println(AppConfig.version) // 1.0.0
}
单例
object App {
fun doSomething() {
// ...
}
}
fun main(args: Array<String>) {
App.doSomething() // ...
}
静态方法
object Util {
fun doSomething() {
// ...
}
}
fun main(args: Array<String>) {
Util.doSomething() // ...
}
枚举
在 Kotlin 中,使用 object 关键字定义枚举,只需要在 object 关键字后面添加 enum class 关键字即可。
enum class Color {
RED, GREEN, BLUE
}
fun main(args: Array<String>) {
val color = Color.RED
println(color) // RED
}