ssa*_*nko 9 java kotlin sealed-class
到目前为止,我一直在使用此Kotlin密封类:
sealed class ScanAction {
class Continue: ScanAction()
class Stop: ScanAction()
... /* There's more but that's not super important */
}
Run Code Online (Sandbox Code Playgroud)
这在我的Kotlin和Java代码中都非常有效。今天,我尝试更改此类以改为使用对象(建议这样做,以减少额外的类实例化):
sealed class ScanAction {
object Continue: ScanAction()
object Stop: ScanAction()
}
Run Code Online (Sandbox Code Playgroud)
我可以在其他Kotlin文件中引用这种简单的方法,但是现在我正努力在Java文件中使用它。
我尝试了以下操作,并且在尝试使用Java进行引用时,这两种方法都会反汇编错误:
ScanAction test = ScanAction.Continue;
ScanAction test = new ScanAction.Continue();
Run Code Online (Sandbox Code Playgroud)
有谁知道我现在该如何引用Java中的实例?
Fra*_*esc 19
您必须使用该INSTANCE属性:
ScanAction test = ScanAction.Continue.INSTANCE;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
944 次 |
| 最近记录: |