kotlin,如何将扩展功能添加到已定义的类伴随对象

标签 kotlin companion-object

我想给一个已经定义好的类的伴生对象添加一些扩展函数,比如

fun Toast.Companion.showImageToast(str : String) {
}

我也喜欢在接口(interface)上做同样的事情,例如

fun Runnable.Companion.mainHandler() {
}

我查阅了文档,只是找到了为用户定义的类中的伴随对象定义扩展函数的语法,而不是没有伴随对象的类

我有机会在 kotlin 中做到这一点吗?

最佳答案

在 Kotlin 1.0 中,如果一个类没有定义伴生对象,则无法为该伴生对象定义扩展函数。也不能为 Java 类和接口(interface)定义扩展函数,例如 Runnable

关于kotlin,如何将扩展功能添加到已定义的类伴随对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36031344/

相关文章:

api - 如何在 Android/Kotlin 库模块中启用 Explcit API 模式?

oop - 我可以在不知道其上下文的情况下更新深层嵌套的不可变对象(immutable对象)吗?

kotlin - Kotlin中具有扩展功能的伴侣对象?

android - Kotlin - 伴生对象 fun 有什么作用?

android - 应用程序崩溃,因为 lateinit 应用程序实例未初始化

android - 我们可以将 gradle.build 文件中的额外属性移动到单独的模块中吗?

kotlin - 将 kotlin 多平台库发布到 Maven Central(InvalidMavenPublicationException 多个具有相同...的工件)

java - IntelliJ IDEA Gradle 项目无法识别/定位 Antlr 生成的源

scala - 无法访问伴随对象的字段