gpt4 book ai didi

kotlin - 如何从Kotlin中的伴随对象调用父方法

转载 作者:行者123 更新时间:2023-12-02 12:29:47 25 4
gpt4 key购买 nike

我有一个 super 类:

open class A {
fun doStuff() {

}
}

然后我有一个子类扩展了它:
class B: A() {
companion object {
doStuff() //compile error
}
}

如何从同伴对象调用doStuff()方法?

最佳答案

你不能

伴随对象与Java中的static关键字大致等效。
只能从该类的实际对象(例如doStuff()A)调用A().doStuff()类(及其子类)的B().doStuff()函数。

尝试从B的伴随对象调用该函数时,由于处于静态上下文中,因此没有A(或B)对象可以在其上调用该函数。

如果您编写的Java相当于发布的Java,则会收到错误消息

non-static method cannot be referenced from a static context



它比您可能从Kotlin的编译器中获得的更具描述性,并且得到了很好的解释 here

关于kotlin - 如何从Kotlin中的伴随对象调用父方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47803265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com