Kotlin學(xué)習(xí)筆記一(基礎(chǔ)語法)

變量聲明相關(guān)

// var聲明變量
var age = 18 

//val聲明一個(gè)不可變的變量,注意它和常量不是同一個(gè)概念。
val name:String = "wangjing"

//在數(shù)據(jù)類型后面加個(gè)一個(gè)?代表可以賦值null
var str1:String? = null
var str2:String = "str"

// !!表示強(qiáng)轉(zhuǎn),當(dāng)你想讓一個(gè)可為null的類型賦值給一個(gè)不可為null的類型時(shí)使用
str2 = str1!!

//聲明一個(gè)返回一個(gè)str的方法, :String聲明返回的類型,如果沒有返回類型不就用加就像java中void一樣。
fun method(str:String):String{
    println("輸出這個(gè)str:$str")
    return str
}

Java與kotlin語法交互

Java與kotlin.kt文件方法之間的調(diào)用

//Utils.kt 中定義一個(gè)echo方法
fun echo(name:String){
    println(name)
}
//java中調(diào)用該方法 使用文件名+Kt 直接調(diào)用
public static void main(String[] args){
    UtilsKt.echo("form java");
}

Java 與kotlin Object 間的調(diào)用

//kotlin object
object Demo {
    fun sendMessage(msg:String){
        println(msg)
    }
}

//kotlin 調(diào)用
Demo.sendMessage("123")
//java調(diào)用
Demo.INSTANCE.sendMessage("java");

獲取Class的實(shí)例

//java獲取java類的Class
TestClass.class

//kotlin獲取java類的Class,kotlin獲取時(shí)使用的是雙::
TestClass::class.java

//kotlin獲取kotlin類的Class,kotlin使用的是自己的KClass,kotlin獲取時(shí)使用的是雙::
KotlinClass::class

Java和kotlin關(guān)鍵字沖突處理方法

//java類中定義一個(gè)屬性(例如in)和kotlin關(guān)鍵字沖突時(shí),
//kotlin要調(diào)用java的關(guān)鍵字需要使用用``轉(zhuǎn)義
Main.`in`

kotlin中的基本數(shù)據(jù)類型,沒有對應(yīng)的封裝類(就像java中int對應(yīng)Integer)

kotlin調(diào)用java中數(shù)據(jù)的時(shí),如果不能確定是否為null,一定要將kotlin的變量定義為可為null的(即加上?),

kotlin中沒有靜態(tài)變量和靜態(tài)方法,可以使用@JvmStatic注解在指定的kotlin方法上,這樣就可以在java調(diào)用靜態(tài)方法的方式一樣調(diào)用該方法。

object Test {
    @JvmStatic
    fun method(str:String):String{
        println("輸出這個(gè)str:$str")
        return str
    }
}

//java中調(diào)用該方法
Test.method("123");

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

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

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