从 Java 访问 Kotlin Sealed Class

Accessing Kotlin Sealed Class from Java

到目前为止,我一直在使用这个密封的 Kotlin class:

sealed class ScanAction {
   class Continue: ScanAction()
   class Stop: ScanAction()
   ... /* There's more but that's not super important */
}

它在我的 Kotlin 和 Java 代码中都运行良好。今天我尝试将此 class 更改为使用对象(建议减少额外的 class 实例化):

sealed class ScanAction {
   object Continue: ScanAction()
   object Stop: ScanAction()
}

我可以在我的其他 Kotlin 文件中引用这个简单的 peasy,但我现在很难在我的 Java 文件中使用它。

我尝试了以下方法,并且在 Java:

ScanAction test = ScanAction.Continue;

ScanAction test = new ScanAction.Continue();

有谁知道我现在如何引用 Java 中的实例?

您必须使用 INSTANCE 属性:

ScanAction test = ScanAction.Continue.INSTANCE;