普通构造函数
- 直接命名即可
- 需要有默认值
- 基本类型可以缺省
- 使用缺省一定要把默认类型写对
- 调用init函数后可以作为全局变量使用
class MyBean(name:String,age:Int,sex:Boolean) {
var name:String = ""
var age:Int = 0
//缺省
var sex = false
init {
this.name = name
this.age = age
this.sex = sex
}
多重构造函数
- 多重构造函数需要有一个主函数,和N个次函数
- 次函数将委托给主函数
- 委托关系用this关键词表示
class MyBean {
var name: String = ""
var age: Int = 0
//缺省
var sex = false
/**
* 1. 多重构造函数需要有一个主函数,和N个次函数
* 2. 次函数将委托给主函数
* 3. 委托关系用this关键词表示
*/
//主函数
constructor()
//次函数
constructor(name:String):this(){
this.name = name
}
//次函数
constructor(name:String,age:Int,sex:Boolean):this(){
this.name = name
this.age = age
this.sex = sex
}
}
构造函数使用
//填值,相当于setter
var tb = MyBean()
tb.age = 12
tb.name = "ZhangSan"
tb.sex = true
//取值,相当于getter
var zsName = tb.name
var zsAge = tb.age
var zsSex = tb.sex
var bean1 = MyBean()
var bean2 = MyBean("zhangsan")
var bean3 = MyBean("zhangsan",14,false)