亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Kotlin學(xué)習(xí)筆記之const val與val

 更新時間:2018年05月08日 10:42:06   作者:wenson123  
這篇文章主要給大家介紹了關(guān)于Kotlin學(xué)習(xí)筆記之const val與val的相關(guān)資料,并給大家介紹了const val和val區(qū)別以及Kotlin中var和val的區(qū)別,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

const的使用

const 必須修飾val

const 只允許在top-level級別和object中聲明,使用方式如下:

const val THOUSAND = 1000
object myObject {
 const val constNameObject: String = "constNameObject"
}


class MyClass {
 companion object Factory {
 const val constNameCompanionObject: String = "constNameCompanionObject"
 }
}

const val和val區(qū)別:

說到這,我們還是沒有搞清楚const和val的區(qū)別,ok讓我們看代碼分析。

object myObject {
 const val constObject: String = "constObject"
 val normalObject: String = "normalObject"
}

打開Android studio 點擊 Tools->Kotlin->Show Kotlin ByteCode

// class version 50.0 (50)
// access flags 0x31
public final class com/example/kotlin/myObject {
 // access flags 0x19
 public final static Ljava/lang/String; constObject = "constObject"
 @Lorg/jetbrains/annotations/NotNull;() // invisible

 // access flags 0x1A
 private final static Ljava/lang/String; normalObject = "normalObject"
 @Lorg/jetbrains/annotations/NotNull;() // invisible

 // access flags 0x11
 public final getNormalObject()Ljava/lang/String;
 @Lorg/jetbrains/annotations/NotNull;() // invisible
 L0
 LINENUMBER 144 L0
 GETSTATIC com/example/kotlin/myObject.normalObject : Ljava/lang/String;
 ARETURN
 L1
 LOCALVARIABLE this Lcom/example/kotlin/myObject; L0 L1 0
 MAXSTACK = 1
 MAXLOCALS = 1
 ......
}

從字節(jié)碼我們可以看到const val 和val修飾對象的主要區(qū)別是:

  • const val 可見性為public final static,可以直接訪問。
  • val 可見性為private final static,并且val 會生成方法getNormalObject() ,通過方法調(diào)用訪問。

附:Kotlin中var和val的區(qū)別

Kotlin中有兩個關(guān)鍵字定義變量,這兩個關(guān)鍵字外形看著差別很小就只差了一個字母,但實際差別很大的。

var是一個可變變量,這是一個可以通過重新分配來更改為另一個值的變量。這種聲明變量的方式和java中聲明變量的方式一樣。

val是一個只讀變量,這種聲明變量的方式相當(dāng)于java中的final變量。一個val創(chuàng)建的時候必須初始化,因為以后不能被改變。

var name = "zhang san" 
println(name) 
name = "li si" 
println(name) 
val finalValue = "我是不可改變的"; 
println(finalValue); 

總結(jié):

當(dāng)定義常量時,出于效率考慮,我們應(yīng)該使用const val方式,避免頻繁函數(shù)調(diào)用。

好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Android自定義View實現(xiàn)等級滑動條的實例

    Android自定義View實現(xiàn)等級滑動條的實例

    這篇文章主要介紹了 Android自定義View實現(xiàn)等級滑動條的實例的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 詳解Android開發(fā)中Activity的四種launchMode

    詳解Android開發(fā)中Activity的四種launchMode

    這篇文章主要介紹了Android開發(fā)中Activity的四種launchMode,launchMode主要用于控制多個Activity間的跳轉(zhuǎn),需要的朋友可以參考下
    2016-03-03
  • Android編程自定義AlertDialog樣式的方法詳解

    Android編程自定義AlertDialog樣式的方法詳解

    這篇文章主要介紹了Android編程自定義AlertDialog樣式的方法,結(jié)合實例形式詳細(xì)分析了Android自定義AlertDialog樣式的具體布局與功能實現(xiàn)相關(guān)操作技巧,需要的朋友可以參考下
    2018-02-02
  • Android實現(xiàn)未讀消息小紅點顯示實例

    Android實現(xiàn)未讀消息小紅點顯示實例

    大家好,本篇文章主要講的是Android實現(xiàn)未讀消息小紅點顯示實例,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • android底部菜單欄實現(xiàn)原理與代碼

    android底部菜單欄實現(xiàn)原理與代碼

    底部菜單欄很重要,我看了一下很多應(yīng)用軟件都是用了底部菜單欄做,我這里使用了tabhost做了一種通用的(就是可以像微信那樣顯示未讀消息數(shù)量的,雖然之前也做過但是layout下的xml寫的太臃腫,這里去掉了很多不必要的層,個人看起來還是不錯的,所以貼出來方便以后使用
    2013-01-01
  • APP添加CNZZ統(tǒng)計插件教程 Android版添加phonegap

    APP添加CNZZ統(tǒng)計插件教程 Android版添加phonegap

    這篇文章主要介紹了APP添加CNZZ統(tǒng)計插件教程,Android版添加phonegap,感興趣的小伙伴們可以參考一下
    2015-12-12
  • asynctask的用法詳解

    asynctask的用法詳解

    Android UI操作并不是線程安全的并且這些操作必須在UI線程中執(zhí)行,本文將為您介紹asynctask的用法
    2012-11-11
  • Android編程處理窗口控件大小,形狀,像素等UI元素工具類

    Android編程處理窗口控件大小,形狀,像素等UI元素工具類

    這篇文章主要介紹了Android編程處理窗口控件大小,形狀,像素等UI元素工具類,可實現(xiàn)像素與dp的轉(zhuǎn)換、窗口寬度設(shè)置、彈出窗口中l(wèi)istview高度設(shè)置等功能,需要的朋友可以參考下
    2017-12-12
  • Android應(yīng)用內(nèi)懸浮窗Activity的簡單實現(xiàn)

    Android應(yīng)用內(nèi)懸浮窗Activity的簡單實現(xiàn)

    懸浮窗相信大家應(yīng)該都不陌生,下面這篇文章主要給大家介紹了關(guān)于Android應(yīng)用內(nèi)懸浮窗Activity簡單實現(xiàn)的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • Android實現(xiàn)音樂視頻播放

    Android實現(xiàn)音樂視頻播放

    這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)音樂視頻播放,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05

最新評論