Final defenders
Aleksey Shipilev
aleksey.shipilev at oracle.com
Tue Aug 7 14:55:39 PDT 2012
On 08/08/2012 01:39 AM, Rémi Forax wrote:
> On 08/07/2012 08:16 PM, Aleksey Shipilev wrote:
>> On 08/07/2012 09:55 PM, "Zdeněk Troníček" wrote:
>>> StatefulOp should be declared as abstract class, not interface.
>>> Concerning the final methods in interfaces, I view default methods as a
>>> means for API evolution and from this point of view, they do not seem
>>> particularly useful.
>> Yes, in the Java 5-7 they indeed should be abstract base classes. But in
>> this case, lambdas requiring functional interfaces. Making StatefulOp an
>> abstract class will prohibit making a StatefulOp-typed lambda.
>>
>> Maybe the answer lies in allowing lambdas implement abstract classes,
>> but that would be MUCH more mess than allowing final defenders.
>
> Hi Aleksey,
> a lambda can not be created from an abstract class without loosing a lot.
Thanks, that's exactly what I meant with "MUCH more mess". ;)
-Aleksey.
More information about the lambda-dev
mailing list