RFR: 8004518 & 8010122 : Default methods on Map

Ulf Zibis Ulf.Zibis at CoSoCo.de
Wed Apr 10 19:42:02 UTC 2013

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 :-)


More information about the core-libs-dev mailing list