引言
先确认一下,什么叫做引用
java
Object obj = new Object() //这里的obj就是一个强引用
再确认一个结论: lambda 属于函数类型对象 。
Kotlin
fun methodResponseResult(msg: String , respo:(Int, String)->Unit){
}
fun methodRespoResunt(type: Int ,msg: String){
}
fun main(){
//函数引用
// lambda 属于函数类型对象,需要把methodRespoResunt 普通函数变成 函数类型的对象(函数引用)
methodResponseResult( "DDD" , :: methodRespoResunt)
}
上面代码解释:
lambda 属于函数类型对象,需要把methodRespoResunt 普通函数变成 函数类型的对象。
概念
**Kotlin中的函数引用**
是指使用双冒号**::
操作符来获取函数的引用。这种引用方式可以将函数作为参数**传递给其他函数,或者作为返回值类型。函数引用在Kotlin中非常有用,特别是在使用高阶函数时,因为它允许将函数作为数据传递和处理。
:: 使用
::
是一个操作符,它可以用来引用函数、属性或构造函数。
引用函数:可以使用::
操作符来引用一个函数。
引用属性:可以使用::
操作符来引用一个属性。
引用构造函数:可以使用::
操作符来引用一个构造函数。
引用成员函数或成员属性:可以使用::
操作符来引用一个类的成员函数或成员属性。例如,myClass::myFunction
可以用来引用一个名为myFunction
的类成员函数。
要注意的是,::
操作符只能用于引用已存在的函数、属性或构造函数,不能用于创建新的函数或属性。