invoke()
方法是kotlin对象类中默认持有的方法,可以通过operator
关键字重载invoke()
方法
enum class OperatorTest {
TEST;
operator fun invoke(data: String){
Log.d("LogUtils","data : $data")
}
}
fun execute(){
val start = OperatorTest.TEST
//原始调用方式
start.invoke("测试1")
//简化调用方式
start("测试2")
}
运行结果
D/LogUtils: data : 测试1
D/LogUtils: data : 测试2
kotlin类默认含有invoke()
方法,并且可以通过operator
关键字重载,可以采用原始调用方式:class.invoke(···)
;kotlin允许简易调用:class()