1.主构造器:
带参,无参,半参
object demo6{
//定义类的时候直接可以构造
class Person(var name:String = "",var age:Int = 0){
println("调用主构造器")
}
def main(args:Array[String]){
//创建xiaobao对象
val xiaobao = new Person(name="xiaobao",age=20)
println(xiaobao.name,xiaobao.age)
println("-------")
//创建空对象,使用默认值
val empty = new Person()
println(empty.name,empty.age)
println("-------")
//只传入一个参数
val xiaoB = new Person(age = 40)
println(xiaoB.name,xiaoB.age)
println("-------")
}
}
输出结果:
调用主构造器
(xiaobao,20)
-------
调用主构造器
(,0)
-------
调用主构造器
(,40)
-------
2.辅助构造器:
object demo6{
//定义类的时候直接可以构造
class Customer(var name:String = "",var address:String = ""){
println("使用主构造器")
//定义辅助构造器,接收数组参数,使用数组初始化:
def this(data:Array[String]){
//辅助构造器第一行必须调用主构造器或其他辅助构造器
this(data(0),data(1))
println("调用主构造器")
}
}
def main(args:Array[String]){
//辅助构造器创建xiaobao对象
val Xiaobao = new Customer(Array("xiaobao","beijing"))
println(Xiaobao.name,Xiaobao.address)
}
}
输出结果:
使用主构造器
调用主构造器
(xiaobao,beijing)