Kotlin基礎知識

Kotlin的每一行代碼是不加分號的

變量

  • val(value的簡寫)用來聲明一個不可變量
  • var(variable的簡寫)用來聲明一個可變的變量

函數

語法糖

當一個函數中只有一行代碼時候,Kotlin允許我們不必編寫函數體,可以直接將唯一的一行代碼寫在函數定義的尾部,中間等號連接即可。

fun largerNumeber(num1:Int,num2:Int):Int = max(num1,num2)

fun largerNumeber(num1:Int,num2:Int):Int = if(num1 >num2) num1 else num2

when

  1. when類似java中的switch。when語句允許傳入一個任意類型的參數,然后可以在when的結構體中定義一系列的條件。格式是:匹配值 -> {執行邏輯}。,當執行邏輯只有一行代碼時候,{ }可以省略。
  2. when語句還可以類型匹配。is 是關鍵字。
fun checkNumber(num:Number){   
    when(num) {        
        is Int -> println("num is Int")        
        is Double -> println("num is Double")        
        else -> println("num not support")    
    }
  }
  1. when可以傳參可以不傳參。不傳參的寫法
fun getScore(name:String) = when {
    name == "Tom" -> 96
    name == "Jim" -> 100
}

循環語句

區間:

  1. ..創建兩端閉區間,0..10代表[0,10]
  2. until 左閉右開區間,0 until 10 代表[0,10)
  3. downTo 降序閉區間

面向對象編程

繼承

kotlin中類默認是不可繼承的。open修飾的類才可以被繼承。

open class Person{
    //省略
}
class student:Person(){
     //省略
}

Kotlin構造函數:主構造函數和次構造函數
()意思是去調用父類的構造函數

接口

接口和java中是一樣的。

修飾符

修飾符 Java Kotlin
public 所有類可見 所有類可見(默認)
private 當前類可見 當前類可見
protected 當前類、子類、同一包路徑下的類可見 當前類、子類可見
default 同一包路徑下的類可見(默認)
internal 同一模塊的類可見

數據類

data class CellPhone (val brand:String,val price:Double)

在類class前加一個data關鍵字,就表明了這是一個數據類,Kotlin會根據主構造函數中的參數幫你將equals()hasCode()toString()等固定且無實際邏輯意義的方法自動生成。

單例類

object Singleton{   
    fun test(){        
        println("test is called")   
    }
}

Kotlin中,只需要將class改為object關鍵字,就定義了一個單例模式

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。