Scalaのapply
904 ワード
class ApplyTest{
def apply() = println("I am into Spark so much!!!")
def haveATry{
println("Have a try on apply!")
}
}
object ApplyTest{
def apply() = {
println("I am into Scala so much!!!")
new ApplyTest
}
}
object ApplyOperation {
def main(args: Array[String]) {
val array = Array(1,2,3,4,5)
val a = ApplyTest() // new,
a.haveATry
}
}
結果:I am into Scala so much!!!Have a try on apply!
クラスの伴生オブジェクトではapplyメソッドが実装され、クラスのインスタンスを作成できます.例えばval a=Array(1,2,3)はArrayを用いたapply法である.
同様にclassでもapplyメソッドを使用できます.
object ApplyOperation {
def main(args: Array[String]) {
val a = new ApplyTest
a.haveATry
println(a()) // class apply
}
}
結果:Have a try on apply!I am into Spark so much!!! ()