Cómo extender los campos estáticos de Java en kotlin

Tengo un file Java

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

Creé una class de kotlin que amplía la class de código.

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

No puedo llamar a la statement, ResponseCode.SUCCESS, en otra function de Kotlin. ¿Qué puedo hacer para que la class kotlin amplíe el campo estático de la class Código?

En Kotlin, a diferencia de Java, los miembros estáticos no son henetworkingados por subclasss, aunque pueden ser llamados dentro de una subclass sin especificar el nombre de la class base.

Para este caso, puede llamar utilizando la class base. O:

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

Una opción más es declarar un método en lugar de una variable.

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

no hay forma de get el campo estático de la class java https://kotlinlang.org/docs/reference/java-interop.html#accessing-static-members

la única manera:

 object ResponseCode : Code() { val SKU_STOCK_NOT_ENOUGH = 2000 fun getSuccess() = SUCCESS fun getFail() = FAIL } 
  • No se puede usar string.contains () en la expresión de kotlin `when`
  • Cómo usar el envoltorio MailChimp escrito por Kotlin en el Proyecto Java
  • Kotlin, generics y una function que puede no tener arguments
  • Kotlin: crea y refiere matrices de Java verdaderas (para JNA)
  • ¿Cómo hacer disponible un método de extensión local en una function con receptor?
  • Osmdroid y Osmdroid bonuspack cómo usar CacheManager
  • ¿Cómo podemos usar Dagger2 con kotlin?
  • Kotlin, problema de creación de instancias y genérico
  • En la biblioteca de Injekt para Kotlin, ¿cómo creo ámbitos locales, como para cada actividad de Android?
  • ¿Cómo crear una implementación anónima de una interfaz?
  • Kotlin cómo declarar campos encadenados con el mismo tipo de datos