1. 程式人生 > >Kotlin學習筆記-----面向對象

Kotlin學習筆記-----面向對象

pre style 初始 line var lin position this otto

構造方法

kotlin中, 一個類的構造方法有好幾種形式

  1. constructor關鍵字


?
class User {
private var username:String
private var password:String

// 無參構造
constructor() {
}

// 有參構造
constructor(username:String, password:String) {
this.username = username
this.password = password
}
}
?
?
  1. constructor簡寫形式


// 無參
class
User {


}
?
// 有參
class User(username:String, password:String) {
var username:String = ""
var password:String = ""
}

也可以寫為



class User (username:String, password:String) {
var username:String? = null
var password:String? = null
}

也可以使用lateinit表示的是延遲加載, kotlin的類的所有屬性在定義時, 都要手動初始化, 但如果不想手動初始化, 那麽可以使用lateinit

來修飾


class User (username:String, password:String) {
// 使用lateinit來表示延遲初始化
var lateinit username:String
var lateinit password:String

// 使用lateinit後, 要在init{}中初始化
init {
this.username = username
this.password = password
}
}
  1. 上面的寫法可以繼續簡化


class User(username:String, password:String) {
// 直接賦值

private var username: String = username
private var password: String = password
}
  1. 還能夠繼續簡化


class User(private var username: String, private var password: String) {
}

創建對象

kotlin中創建對象不需要java的new 關鍵字

?
fun main(args: Array<String>) {
var user = User("abc", "123")
}

Kotlin學習筆記-----面向對象