中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

靜態變量與靜態方法怎么在Kotlin中使用

發布時間:2021-03-25 17:23:56 來源:億速云 閱讀:166 作者:Leah 欄目:移動開發

這期內容當中小編將會給大家帶來有關靜態變量與靜態方法怎么在Kotlin中使用,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

class Constant {
 companion object {
  // 接口根地址
  const val BASE_URL = "http://xxxx.xxx.xxx/"
  // 友盟
  const val UMENG_APP_KEY = "xxxxxxxxxx"
  const val UMENG_CHANNEL = "umeng"
  // 微博
  const val WEIBO_APP_KEY = "xxxxxxxx"
  const val WEIBO_SECRET = "xxxxxxxxxx"
  
  
  fun getVideoFactor(){
   // do some work
  }
 }

}

看后是不是很簡單?在純kotlin代碼中可以直接這樣使用:

//初始化各平臺的APIKey
  PlatformConfig.setWeixin(Constant.WECHAT_APP_ID, Constant.WECHAT_APP_SECRET)
  PlatformConfig.setSinaWeibo(Constant.WEIBO_APP_KEY, Constant.WEIBO_SECRET, Constant.WEIBO_AUTH_RETURN_URL)

然而,如果我們使用的是Java和kotlin混合開發,在Java代碼中就無法通過 Constant.靜態變量 的方式來使用靜態變量或者方法來,而是通過如下方式:

//初始化各平臺的APIKey
  PlatformConfig.setWeixin(Constant.Companion.WECHAT_APP_ID, Constant.WECHAT_APP_SECRET)
  PlatformConfig.setSinaWeibo(Constant.Companion.WEIBO_APP_KEY, Constant.WEIBO_SECRET, Constant.WEIBO_AUTH_RETURN_URL)

如果我們想像kotlin那樣直接通過 類名.靜態變量 方式使用呢?我們可以借助于注解 @JvmField 和 @JvmStatic 來分別標注靜態變量和靜態方法,之后我就能在Java代碼中像以前方式那樣直接使用靜態的成員啦!

例如這樣:

/**
 * @author moosphon on 2018/12/12
 * desc: 異常的統一處理者
 */
class ExceptionHandler {


 companion object {
  @JvmField
  var errorCode = NetRequestStatus.UNKNOWN_ERROR

  @JvmField
  var errorMessage = "請求失敗,請稍后重試"

  @JvmStatic
  fun handleException(e : Throwable): String{
   e.printStackTrace()
   when(e){
    is SocketException -> {
     Logger.e("ExceptionHandler", "網絡連接異常: " + e.message)
     errorCode = NetRequestStatus.NETWORK_ERROR
     errorMessage = "網絡連接異常"
    }

    is JsonParseException -> {
     Logger.e("ExceptionHandler", "數據解析異常: " + e.message)
     errorCode = NetRequestStatus.PARSE_ERROR
     errorMessage = "數據解析異常"
    }

    else -> {
     try {
      Logger.e("ExceptionHandler", "其他錯誤: " + e.message)
     } catch (e1: Exception) {
      Logger.e("ExceptionHandler", "未知錯誤: " + e.message)
     }

     errorCode = NetRequestStatus.UNKNOWN_ERROR
     errorMessage = "未知錯誤,一起禱告快點好起來吧~"
    }
   }
   return errorMessage
  }
 }
}

上述就是小編為大家分享的靜態變量與靜態方法怎么在Kotlin中使用了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

侯马市| 黔西县| 曲阜市| 叙永县| 乌海市| 邵武市| 芜湖市| 漳浦县| 尚义县| 兴业县| 赤壁市| 霍林郭勒市| 西华县| 和林格尔县| 北川| 来宾市| 忻州市| 确山县| 高雄县| 大埔县| 大方县| 青龙| 阿拉善右旗| 遂宁市| 杭锦后旗| 樟树市| 深圳市| 建水县| 鄯善县| 奉节县| 盐边县| 龙南县| 交口县| 陕西省| 新兴县| 公主岭市| 太仆寺旗| 汽车| 禹城市| 兴和县| 建始县|