码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-04-02 15:57:45      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:mil   表示   bfc   dal   学习笔记   定义   需要   hack   hit   

构造方法

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学习笔记-----面向对象

标签:mil   表示   bfc   dal   学习笔记   定义   需要   hack   hit   

原文地址:https://www.cnblogs.com/sweep/p/8693713.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!