2017-08-08 103 views
0

Java的靜態字段我有一個Java文件如何擴展在科特林

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

我創建一個擴展代碼類科特林類。

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

我不能在其他Kotlin函數中調用聲明ResponseCode.SUCCESS。 我能做些什麼來使kotlin類擴展Code類的靜態字段。

回答

0

在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 
    } 
} 
+0

感謝您的回答 – Iconoclast