I noticed that while Java's instance capturing lambda expressions are translated into private instance methods, those for Scala are translated into public static method which takes the containing class as the first argument. Basically a desugared lambda expression seems to be in the following follow:
public static final boolean $anonfun$getLambda$1(com.test.SomeClass):
...
Is this always the case for Scala lambda expressions? If not, what will be the cases where they will be instance methods?
Also, why is the case for Scala lambda expressions which works differently from Java lambda expressions?