Am 10.04.2013 20:24, schrieb Remi Forax:
interface + default methods are conceptually what is known as traits(*), you can see them as interface + method with code or as abstract class without state, it's the same thing.
Thanks, that's what I wanted to make sure.
Now, if you want traits in Java, you have 3 choices: add a new kind of type, trait, introduce a stateless abstract class or add default methods to interface. All these changes require to change the VM, so all of them are *big* changes. The lambda expert group studies each solution and adding default methods to interface is the path that creates less problems, that why it was chosen.
Thanks Rémi, that's the info I was missing, you really considered abstract classes in your studies :-) -Ulf