Java/Default keyword: Difference between revisions
From charlesreid1
(Created page with "Default keyword: {{Quote| It's a new feature in Java 8 which allows an interface to provide an implementation. Described in Java 8 JLS-13.5.6. Interface Method Declarations w...") |
No edit summary |
||
| Line 12: | Line 12: | ||
- [https://stackoverflow.com/questions/31578427/what-is-the-purpose-of-the-default-keyword-in-java#31578471 source] | - [https://stackoverflow.com/questions/31578427/what-is-the-purpose-of-the-default-keyword-in-java#31578471 source] | ||
}} | }} | ||
[[Category:Java]] | |||
[[Category:Interfaces]] | |||
[[Category:Inheritance]] | |||
Revision as of 19:30, 18 June 2017
Default keyword:
It's a new feature in Java 8 which allows an interface to provide an implementation. Described in Java 8 JLS-13.5.6. Interface Method Declarations which reads (in part)"Adding a default method, or changing a method from abstract to default, does not break compatibility with pre-existing binaries, but may cause an IncompatibleClassChangeError if a pre-existing binary attempts to invoke the method. This error occurs if the qualifying type, T, is a subtype of two interfaces, I and J, where both I and J declare a default method with the same signature and result, and neither I nor J is a subinterface of the other."
What's New in JDK 8 says (in part)
"Default methods enable new functionality to be added to the interfaces of libraries and ensure binary compatibility with code written for older versions of those interfaces."
- source