Scala類構造可以使用無參構造,也可以使用有參構造;可以默認的構造器,也可以使用多個輔助構造器
無參構造
類定義
class Person{
def greet(): Unit ={
println("你好,陌生人!")
}
}
以上類定義等同於class Person()
class Person(){
def greet(): Unit ={
println("你好,陌生人!")
}
}
使用
// 1. 類名()
// 2. 類名
// val person:Person=new Person()
val person:Person=new Person
person.greet()
有參構造
類定義
class Person(name:String){
def greet(): Unit ={
println("你好,陌生人,我是%s".format(name))
}
}
以上類定義等同於class Person(val name:String) class Person(var name:String)
使用
val person:Person=new Person("你大爺")
person.greet()
輔助構造器
類定義
輔助構造器要定義成def this(參數列表)形式,內部要首先調用默認構造方法
class Person(){
def greet(name:String): Unit ={
println("你好,陌生人,我是%s".format(name))
}
// 輔助構造器
def this(name:String){
this()
this.greet(name)
}
}
使用
val person:Person=new Person
person.greet("你大爺")