【问题标题】:How to write sealed class in Kotlin如何在 Kotlin 中编写密封类
【发布时间】:2022-08-05 21:02:09
【问题描述】:
sealed class DestinationScreen(val route:String){
    object Signup: DestinationScreen(route = \"signup\")
}

现在我正在开发上面的导航屏幕。 我不明白这个说法。

object Signup: DestinationScreen(route = \"signup\")

我认为注册是财产。所以要设置它,我们应该在下面写这个吗?

object Signup = DestinationScreen(route = \"signup\")

为什么不使用 = 发出实例并设置 Signup 属性?

请教我。谢谢你。

    标签: kotlin


    【解决方案1】:

    没有。 Signup 不是属性。它基本上是一个扩展DestinationScreen 的类,除了它是一个特殊的类object,它作为一个单例并在它所描述的同一点启动。这就是你这样写的原因。

    为什么它看起来像你的属性是你碰巧在另一个类中声明它(这使它成为一个内部类)。但是你也可以在类之外声明它。

    更多关于 Kotlin 对象https://kotlinlang.org/docs/object-declarations.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多