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

Posted 予有荣焉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
}
}
?
?
  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学习笔记-----面向对象的主要内容,如果未能解决你的问题,请参考以下文章

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

Kotlin小笔记kotlin的基本语法

Kotlin学习笔记-----接口

Kotlin in Action 笔记

Kotlin学习之旅解决错误:kotlin.NotImplementedError: An operation is not implemented: Not yet implemented(代码片段

python 学习笔记9(面向对象)