广州做购物网站,乌兰察布网站制作,响应式网站 产品轮播代码,wordpress模板商店文章目录 定义实例化Kotlin 调用 Java 单抽象方法接口 定义
在 Kotlin 中#xff0c;如果一个接口只有一个抽象方法#xff08;其他非抽象成员数量不限#xff09;#xff0c;可以写成类似函数的形式。
fun interface Editable {// 此处 abstract 可省略abstract fun edi… 文章目录 定义实例化Kotlin 调用 Java 单抽象方法接口 定义
在 Kotlin 中如果一个接口只有一个抽象方法其他非抽象成员数量不限可以写成类似函数的形式。
fun interface Editable {// 此处 abstract 可省略abstract fun edit()
}实例化
正常情况下我们实例化接口需要用到匿名对象object {}
fun main() {val editable object : Editable {override fun edit() {print(编辑中...)}}editable.edit()
}编辑中...而定义了函数式接口后我们可以这样做
fun main() {val editable Editable { print(编辑中...)}
}Kotlin 调用 Java 单抽象方法接口
不知道 Java 是什么可以跳过 在 Java 中的Runnable接口中只定义了一个抽象方法run这样的 Java 单抽象方法接口在 Kotlin 中是可以像调用函数式接口fun interface一样调用的Kotlin 的接口则必须在定义时interface前加fun才行
// Runnable.java
FunctionalInterface
public interface Runnable {/*** Runs this operation.*/void run();
}如果使用 Java 实例化该接口需要这样写
public class Test {public static void main(String[] args) {// 这是实例化的位置new Runnable() {Overridepublic void run() {System.out.print(Run);}};}
}而使用 Kotlin 是这样写的
fun main() {object : Runnable {override fun run() {print(Run)}}
}使用函数式接口调用的写法后它又是这样的
fun main() {Runnable {print(Run)}
}该学谁不用我说了吧。