Looking at the Scala tour documentation for Trait, I see the sentence traits cannot be instantiated and therefore have no parameters.
Is that really a logical conclusion “therefore” ? Because abstract classes cannot be instantiated either, yet they CAN have parameters. The inability to be instantiated, does not imply inability to have parameters.
What is the real reason traits cannot have parameters? It is an intentional limitation, or is it necessitated by its implementation?
I’m not a Java expert, but as I understand Java interfaces cannot have methods, (maybe I’m wrong), yet traits can have methods. Therefore, it is also the case that the limitations of Java interfaces do not necessarily imply the same limitations in Scala traits.