Scala類構造器

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("你大爺")
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章