1. 程式人生 > >kotlin類的成員變數 方法

kotlin類的成員變數 方法


//kotlin成員變數 成員方法
//函式強調本身不考慮從屬
//方法的稱呼通常從類的角度出發

//構造方法引數中 val/var修飾的都是屬性
//類的內部也可以定義屬性
class 妹子(性格:String,長相:String,聲音:String){
    fun 唱歌(歌名:String){
        println(歌名)
    }
    fun 跳舞(舞名:String){
        println(舞名)
    }
}
class X
class A{
    var b = 0//類似與java private int b 預設實現get set方法
    //也可以自己實現get set方法
      get(){
          println("get method b")
          return field
       }
     set(value) {
           println("set method b")
           field = value
      }

    var a = 0
     get()=field//預設get方法
     set //預設set方法

    lateinit var c:String //kotlin定義的成員變數需要初始化 可以lateinit延遲初始化 忽略編譯器報錯
    lateinit var d:X//屬性初始化
    lateinit var e:X
    val g:X = X()
    val f:X by lazy {
        println("init X")
        X()
    }//lateinit只能作用與var 使用by lazy

}
fun main(args:Array<String>){
    val 某個妹子 = 妹子("彪悍","未知","沒聽")
    某個妹子.唱歌("歌唱祖國")
    某個妹子.跳舞("天鵝湖")
    val a = A()
    println("init a")
    println(a.b)
    println(a.f)
    println(a.c)//c沒有初始化 報異常沒有初始化
    a.d = X()

}