gpt4 book ai didi

kotlin - 为什么这个 Kotlin 对象可以继承自自身?

转载 作者:IT老高 更新时间:2023-10-28 13:47:11 26 4
gpt4 key购买 nike

我正在尝试使用 Kotlin 与 TeamCity 交互。

当您将项目转换为 Kotlin(从 .xml)时,您将拥有一个名为 Project.kt 的文件,您可以在其中设置所有配置。

没有编辑我的看起来像这样:

object Project : Project(/* Some Function Literal with Receiver */)

这看起来像循环继承?我忽略了一些进口,但肯定不会有那么大的不同吗?名称是否可以根据它在文件中出现的位置以不同的方式解释?

我的想法是这样解释对象签名:

  • object = 单例的对象声明。
  • 项目(第一次出现)= 对象名称。
  • : = 继承标记。
  • Project(第二次出现)= 要继承的基类。
  • () = 对基类的构造函数调用。

这是循环继承还是我错过了 Kotlin 的一些重要内容?我看过herehere并且似乎找不到我的答案。

最佳答案

假设合格的类 other.Projectmy.Project,您将在不同的包中定义两个具有相同名称的不同类。

由于my.Project 被定义为Singleton,你不能从它扩展,实际的基类是other.ProjectKotlin 足够聪明,可以区分。如果你尝试对类声明做同样的事情,你会得到一个循环继承。

您甚至可以尝试显式地强制从 Singleton 扩展,但是您会遇到错误无法从 Singleton 继承。所以基本上这只有在你导入了正确的类时才会有效。

关于kotlin - 为什么这个 Kotlin 对象可以继承自自身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46731745/

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