Scala学习笔记(四):apply方法说明

当scala中类或者对象有一个主要用途的时候,apply方法就是一个很好地语法糖。请看下面一个简单的例子:

class Foo(foo: String) {}
object Foo {
    def apply(foo: String) : Foo = {
        new Foo(foo)
    }
}

定义了一个Foo类,并且在这个类中,有一个伴生对象Foo,里面定义了apply方法。

有了这个apply方法以后,我们在调用这个Foo类的时候,用函数的方式来调用:

object Client {
    def main(args: Array[String]): Unit = {
        val foo = Foo("Hello")
    }
}

我们Foo("Hello")的方式,就得到了一个Foo类型的对象,这一切就是apply方法的功劳。

如果没有apply方法,我们将需要使用new关键字来得到Foo对象。

posted @ 2018-12-09 11:47  舒山  阅读(1381)  评论(0编辑  收藏  举报