Do you want the how or the why? As the other answer notes, the how is just the apply
method on the automatically generated companion object.
For the why: case classes are often used to implement algebraic data types in Scala, and the new
-less constructor allows code that is more elegant (creating a value looks more like deconstructing it via pattern matching, for example) and that more closely resembles ADT syntax in other languages.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…