【Kotlin】object 对象 ( object 关键字 | 您所在的位置:网站首页 › 大学函数表达式 › 【Kotlin】object 对象 ( object 关键字 |
文章目录一、object 关键字二、对象声明三、对象表达式四、伴生对象一、object 关键字 object 关键字 可以定义 单例类 ; 使用 object 关键字修饰的类 , 只能创建一个实例对象 ; object 有 3 种使用方式 : 对象声明 : 定义单例类 ;对象表达式 : 定义匿名内部类 ;伴生对象 : 定义静态成员 ;二、对象声明使用 object 关键字 进行 对象声明 , 就是 定义单例类 ; 对象声明格式 : object 单例类类名 {}代码示例 : object Student { var name = "Tom" var age = 18 fun sayHello() { println("$name $age years old, say hello.") } } fun main() { // 调用单例类 Student.sayHello() }执行结果 : Tom 18 years old, say hello.三、对象表达式使用 object 关键字 声明 对象表达式 , 就是 Kotlin 中的匿名内部类 ; 该类只使用一次 ; 定义 对象表达式 ( 匿名内部类 ) 是由于要 修改 类中的函数 , 常见的是要 覆盖重写函数 , 该 类 以及要 重写的函数 必须是用 open 修饰 ; 使用 对象表达式 创建出来的 匿名内部类 对象 , 只有 1 个实例对象 ; 下面的 对象表达式 ( 匿名内部类 ) 是定义 Student 类的子类 , 因此 Student 类必须使用 open 修饰 , 在匿名内部类内部重写了 sayHello 函数 , 因此 在 Student 类中的 sayHello 函数 必须使用 open 进行修饰 ; 代码示例 : open class Student { var name = "Tom" var age = 18 open fun sayHello() { println("$name $age years old, say hello.") } } fun main() { val student = object : Student() { override fun sayHello() { super.sayHello() println("匿名内部类添加的代码逻辑") } } student.sayHello() }执行结果 : Tom 18 years old, say hello. 匿名内部类添加的代码逻辑四、伴生对象使用 companion object 定义的类中的 伴生对象 , 内部的 成员 和 函数 相当于 静态成员 ; 一个类中只能有一个伴生对象 ; 伴生对象 的 成员函数 和 成员属性 , 可以直接使用类名进行访问 ; 代码示例 : open class Student { companion object { const val DELTA = 10 fun delta() { println("delta is $DELTA") } } var name = "Tom" var age = 18 } fun main() { println(Student.DELTA) Student.delta() }执行结果 : 10 delta is 10 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |