如何在kotlin中扩展Java静态字段

我有一个Java文件

public class Code { public static final int SUCCESS = 0; public static final int FAIL = 1; } 

我创建了一个扩展Code类的kotlin类。

 object ResponseCode : Code() { val SKU_STOCK_NOT_ENOUGH = 2000 } 

我不能在其他Kotlin函数中调用ResponseCode.SUCCESS语句。 我能做些什么来使kotlin类扩展Code类的静态字段。

在Kotlin中,与Java不同,静态成员不会被子类继承,尽管它们可以在子类中调用而不指定基类的名称。

对于这种情况,您可以使用基类来调用。 要么:

 object ResponseCode : Code() { val SKU_STOCK_NOT_ENOUGH = 2000 val _SUCCESS = SUCCESS } 

另一个选择是声明一个方法而不是一个变量。

 object ResponseCode : Code() { val SKU_STOCK_NOT_ENOUGH = 2000 fun SUCCESS(): Int { return SUCCESS } } 

没有办法从java类获取静态字段https://kotlinlang.org/docs/reference/java-interop.html#accessing-static-members

唯一办法:

 object ResponseCode : Code() { val SKU_STOCK_NOT_ENOUGH = 2000 fun getSuccess() = SUCCESS fun getFail() = FAIL }