Learn a little bit of Scala's apply method every day
Where does the apply method usually appear?
This method is generally implemented in associated objects
Objective:
Changed the way of creating accompanying class instances, no longer through new, but directly using the class name (). The underlying scala will implicitly call the apply method.
Package com.xej.learning.apply/** * apply method: when creating an object, it no longer uses the form of new but directly uses the form of class name () * / private [apply] class Stormobject Storm {/ / when creating an object of the accompanying class, the def apply: Storm = new Storm ()} private [apply] class Kafka (val name: String) object Kafka {/ / is implicitly called because the main constructor of the accompanying class has parameters. / / therefore, there must also be a parameter def apply (name: String): Kafka = new Kafka (name)} object ApplyTest {def main (args: Array [String]): Unit = {val storm = Storm val kafka = Kafka ("kafka")}}
This form is also widely used in marathon source code, such as: