Scala this關鍵字

在scala中,this是一個關鍵字,用於引用當前對象。可以使用this關鍵字調用實例變數,方法,構造函數。

Scala this示例

在以下示例中,這用於調用實例變數和主要構造方法。

class ThisExample{
    var id:Int = 0
    var name: String = ""
    def this(id:Int, name:String){
        this()
        this.id = id
        this.name = name
    }
    def show(){
        println(id+" "+name)
    }
}

object Demo{
    def main(args:Array[String]){
        var t = new ThisExample(1010,"Maxsu")
        t.show()
    }
}

將上面代碼保存到原始檔案:Demo.scala中,使用以下命令編譯並執行代碼 -

D:\software\scala-2.12.3\bin>scalac Demo.scala
D:\software\scala-2.12.3\bin>scala Demo
1010 Maxsu

Scala構造函數使用this關鍵字調用

在下面的例子中,使用this關鍵字來調用構造函數。它演示了如何從其他構造函數調用構造函數。必須確保this必須放在構造函數中的第一個語句,同時調用其他構造函數,否則編譯器會拋出錯誤。

class Student(name:String){
    def this(name:String, age:Int){
        this(name)
        println(name+" "+age)
    }
}

object Demo{
    def main(args:Array[String]){
        var s = new Student("Maxsu",1000)
    }
}

將上面代碼保存到原始檔案:Demo.scala中,使用以下命令編譯並執行代碼 -

D:\software\scala-2.12.3\bin>scalac Demo.scala
D:\software\scala-2.12.3\bin>scala Demo
Maxsu 1010

上一篇: Scala方法重載 下一篇: Scala繼承