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

2024-04-06

这是界面:

interface SomeInterface {
   companion object {
      const val MY_CONST = "the constant"
   }
}

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

class SomeClass : SomeInterface

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

SomeClass.MY_CONST

我该如何解决这个问题?


伴随对象 https://kotlinlang.org/docs/reference/object-declarations.html#companion-objects不是“可遗传的”;它们完全符合定义它们的上下文(SomeInterface,在你的情况下)。

本质上,你需要写:

SomeInterface.MY_CONST
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kotlin:类继承了包含伴生对象的接口,但无法访问该接口的常量 的相关文章

  • kotlin 命令行编译器

    如何使用js命令行编译器 fun main args Array
  • TypeScript 接口函数属性:有什么区别?

    有人可以解释一下 为什么在这段代码中 对 Interface 类型常量的赋值有效 但对 Interface 类型常量的赋值会抛出错误 interface InterfaceA doSomething data object boolean
  • 如何处理 Jetpack Compose 中的导航?

    在 Jetpack Compose 中 导航应该如何完成 所有 并不多 示例 包括来自 Google 的官方示例 都使用密封类并加载新屏幕以响应观察当前屏幕的变化 这确实 有点 有效 但不提供导航返回堆栈 并且手机的后退按钮完全不知道 只是
  • 将分页库从 3.0.0-alpha10 更新到 3.0.0-alpha12 时出现运行时错误

    我使用 paging 3 0 0 alpha10 创建了我的 pagingSource 类并且它有效 但是当我将版本更改为 3 0 0 alpha12 时 我收到这个错误 这是运行时异常 java lang AbstractMethodEr
  • 抽象方法实现与抽象方法重写。这两个对于抽象类意味着相同吗?

    我几乎要采取Java SE 8 程序员我 exam 1Z0 808 我正在使用这个学习指南 https www selikoff net java oca 8 programmer i study guide https www selik
  • 优化查找所有实现 IInterface 的类以及使用特定类型显式实现它的类

    我定义了一个接口 ISerializeDeserialize 和一些继承通用接口的类 我还有一些使用 CodeDomProvider 生成代码的程序集 它生成从同一接口继承的类 但使用特定类型实现它 我想要实现的是获取通用实现和实现特定类型
  • 将 Kotlin .kt 类打包到 JAR 中

    我如何构建HelloWorld kt as a JAR以便它运行 thufir dur kotlin thufir dur kotlin kotlinc HelloWorld kt include runtime d HelloWorld
  • Kotlin 无法编译库

    There s this http github com theapache64 BugMailer我创建的库是为了通过电子邮件报告异常情况 它适用于 Android Java 项目 但不适用于 Android Kotlin 当我添加库的编
  • 部署到 AppEngine 时未调用 Ktor 应用程序的 Main 方法

    Issue Ktor 应用程序的main部署到 App Engine 时不会调用方法 在应用程序的主要方法中 逻辑是根据 API 请求检索内容Timer并将该信息保存到客户端使用的 Firestore 数据库中 目前 此逻辑在部署在Jar到
  • C# 多重继承

    目前我正在学习 C 和 ASP NET MVC 4代码优先方法 我是 Visual Basic 开发人员 现在我想开始 C 而且 现在我遇到了必须管理多重继承的情况 但是 对于Class i来说这是不可能的 那么 我应该如何管理我拥有的这些
  • 使用抽象类作为模板类型

    我对c 还是很陌生 来自java 我有一个 stl 类型列表Actor When Actor仅包含 真实 方法就没有问题 我现在想将这个类扩展到几个类 并且需要将一些方法更改为抽象的 因为它们不再具有具体的意义 正如我 从文档中 预期的那样
  • Kotlin 等价于三元运算符 [重复]

    这个问题在这里已经有答案了 因此 在 java 中 我们有三元运算符 它有时对于简化 if else 内联计算的某些值很有用 例如 myAdapter setAdapterItems textToSearch length 0 noteLi
  • Android - 如何使密封类扩展其他密封类?

    我的 UIState 有一个密封的界面 sealed interface UIState
  • 如何在调用主构造函数之前运行代码?

    我正在编写一个包含两个不可变值的类 它们在主构造函数中设置 我想添加一个辅助构造函数 它接受一个字符串并解析它以获取这两个值 但是 我无法找到在 Kotlin 中实现此功能的方法 因为辅助构造函数在解析字符串之前立即调用主构造函数 在jav
  • C#/.NET 3.5:转换扩展通用列表的对象

    我通过带有返回接口类型的方法的外观公开 API 并且在 C NET 3 5 中遇到了通用列表和继承的问题 我有两个接口 IMyList 实现 IList IMyItem 和三个类 MyList 实现 IMyList 扩展 List MyOt
  • 如何使用 let (或 apply 等)检查 2 个条件

    有没有更惯用的方式来编写以下内容 foo let if foo isBlank bar let if bar isBlank println foo and bar both valid strings 基本上这个想法是两个字符串都应该是非
  • java中将函数作为参数传递

    我正在熟悉 Android 框架和 Java 并希望创建一个通用的 NetworkHelper 类 该类将处理大部分网络代码 使我能够从中调用网页 我按照developer android com 上的这篇文章创建了我的网络类 http d
  • 用于导入基本模板类的所有名称的 C++ 宏[重复]

    这个问题在这里已经有答案了 当从模板基类派生类时 必须使用以下语法this gt member or using Base member访问基类的成员 如果基类是通用模板参数并且确定某些成员存在 也会发生同样的情况 是否可以编写一个宏来 导
  • 为什么 jetpack-compose 状态提升使用回调?

    本教程 https developer android com codelabs jetpack compose basics 7关于 jetpack compose 中的状态提升说 通过向 OnboardingScreen 传递函数而不是
  • 如何限制受保护的成员只能从第一级子 C# 访问

    我有3个级别的课程 TopClass MiddleClass BottomClass And MiddleClass源自TopClass and BottomClass源自MiddleClass 我想在以下地区拥有房产TopClass只能从

随机推荐