-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating
Learn Java with Projects
By :
Before Java 8, only abstract methods were allowed in interfaces. This meant that if you introduced a new abstract method to an existing interface, the classes that had already implemented that interface would break. This was inconvenient for not only Java developers but also the designers of Java.
This all changed in Java 8, with the introduction of both default and static methods. One of the primary drivers for introducing default methods was to be able to introduce code into the interface and not break the existing client base. This maintained backward compatibility. In addition, this new code is automatically available to clients implementing that interface.
A primary driver for the introduction of static methods was to keep utility code local to the interface rather than having it in a separate class, which was the case before their introduction.
Let’s discuss them in turn, starting with default methods.