I\'ve been curious about the impact of not having an explicit primary constructor in Scala, just the contents of the class body.
In particular, I suspect that the pr
Aleksander's answer is correct, but Programming in Scala offers an additional alternative:
sealed trait Foo { // interface } object Foo { def apply(...): Foo = // public constructor private class FooImpl(...) extends Foo { ... } // real class }