Why there was a need to use default methods in Interface
mrityunjay2002 at gmail.com
Sun Mar 31 12:18:57 PDT 2013
My question is more about on why mark the method as default explicitly,
when compiler can perform the task for me (marking the implementation in
interface as default). With this there will be one less keyword which is
used only for interfaces.
Thanks & Regards,
On Mon, Apr 1, 2013 at 12:42 AM, Mohammed Sanaulla <sanaulla123 at gmail.com>wrote:
> I think the query was why to use "default" keyword in the interface while
> providing the implementation. It could have been skipped and instead allow
> the compiler to identify that any implementation in an interface would be
> default method.
> Please correct me if I misinterpreted the question.
> Mohamed Sanaulla <http://blog.sanaulla.info> |
> On 1 April 2013 00:35, Brian Goetz <brian.goetz at oracle.com> wrote:
>> Interface evolution.
>> Interfaces like Collection cannot be added to, because there are already
>> implementations of Collection out there, so if we added a method to
>> Collection, it would render all existing implementations not
>> compileable. This means that interfaces like Collection could not be
>> evolved once published.
>> Default methods provide a path to evolving interfaces over time, as it
>> lets you compatibly add to an interface as long as the functionality you
>> want can be expressed in terms of existing interface methods.
>> On 3/31/2013 2:48 PM, Mrityunjay Sharma wrote:
>> > Hi All,
>> > I have a question regarding providing the support for adding default
>> > in interface.
>> > When we are adding an implementation in interface, compiler can itself
>> > decide whether its an default implementation or not. As far as i know we
>> > cannot use default methods for any class, instead we can only use it in
>> > interfaces. Then why there was a need to use default methods.
>> > Thanks & Regards,
>> > Mrityunjay
More information about the lambda-dev