Kotlin總結(jié)2

已有項目添加maven支持

這個其實怪我眼瞎,沒看到

右擊module -> Add Framwork Support... ->選中maven確定即可

java靜態(tài)方法和kotlin伴生對象

java直接轉(zhuǎn)過來的靜態(tài)方法報錯,發(fā)現(xiàn)他多了一個override,但是貿(mào)然刪了又覺得不妥,就查查靜態(tài)方法的資料

  • kotlin的伴生對象,可以理解為靜態(tài)方法。
  • 但又不完全是,因為伴生對象畢竟也還是對
  • 轉(zhuǎn)成java方法之后,一般對象被理解為class,需要用名稱調(diào)用方法名,而伴生對象恰如靜態(tài)方法一樣,可以直接調(diào)用

java

    public static DataResult initResult(){

        return new DataResult(0,"success!");
    }

kotlin

    //自動轉(zhuǎn)會轉(zhuǎn)成這個樣子
    companion object {

        override fun initResult(): DataResult {

            return DataResult(0, "success!")
        }
    }
    //真的只要刪掉override就行了
        companion object {

         fun initResult(): DataResult {

            return DataResult(0, "success!")
        }
    }

java中的靜態(tài)方法,在kotlin中其實就是伴生對象

lazy和lateinit的區(qū)別

lateinit var testLateinit:String
val testLazy: String by lazy { "test" }
  • lazy

    • 只能在val變量使用
  • lateinit

    • 只能在var類型使用
    • 只能用在不為空屬性上
    • 不能用在基礎(chǔ)數(shù)據(jù)類型上
  • 其他參見var與val的區(qū)別

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容