Kotlin:类继承包含伴生对象的接口,但无权访问接口的常量

Már*_*que 4 inheritance interface kotlin companion-object

这是界面:

interface SomeInterface {
   companion object {
      const val MY_CONST = "the constant"
   }
}
Run Code Online (Sandbox Code Playgroud)

然后,类(没有主体,因为只是一个例子):

class SomeClass : SomeInterface
Run Code Online (Sandbox Code Playgroud)

在此之后,当我尝试通过 SomeClass 调用常量时,它不允许我:

SomeClass.MY_CONST
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

mar*_*one 5

伴随对象不是“可继承的”;它们由定义它们的上下文完全限定(SomeInterface,在您的情况下)。

本质上,您需要编写:

SomeInterface.MY_CONST
Run Code Online (Sandbox Code Playgroud)