Kotlin学习笔记-----面向对象

面向对象

构造方法

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
  }
}

 

2. ​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
    }

}

上面的写法可以继续简写

class User(username:String, password:String) {
    // 直接赋值
    private  var username: String = username
    private  var password: String = password
}

 

还能够继续简化

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

 

创建对象

kotlin中创建对象不需要java的new 关键字

​fun main(args: Array<String>) {
    var user = User("abc", "123")
}
posted @ 2018-04-02 15:22  予有荣焉  阅读(143)  评论(0编辑  收藏  举报