当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对象。

相关文章:

  • 2021-10-25
  • 2022-01-28
  • 2021-06-11
  • 2022-02-28
猜你喜欢
  • 2022-03-02
  • 2021-07-08
  • 2021-06-11
  • 2021-08-30
相关资源
相似解决方案