In Scala, a method can have multiple parameter lists or even no parameter list at all. On the other hand, in Java, a method always has one parameter list, with zero or more parameters. For example, in Scala, the following is the valid method definition (written in currie notation) where a method has two parameter lists:
def sum(x: Int)(y: Int) = x + y
The preceding method cannot be written as:
def sum(x: Int, y: Int) = x + y
A method, let's say sum2, can have no parameter list at all, as follows:
def sum2 = sum(2) _
Now, you can call the method add2, which returns a function taking one parameter. Then, it calls that function with the argument 5, as follows:
val result = add2(5)