Vaibhav Gargs wrote:In Java 8, the interfaces can have methods implementations. So, what is the difference between abstract classes and interfaces from java 8? One reason is multiple inheritance not supported what else?
I don't understand where you are making the connection to "multiple inheritance not supported"... can you please explain what you mean?
One of the main reasons for having methods in interfaces is for backwards compatibility. If a new method were added to an existing interface, old implementation classes would suddenly no longer implement that interface because they don't have those new methods. With the default interface methods, that doesn't happen because they get inherited by whatever older implementations already exist.
The best ideas are the crazy ones. If you have a crazy idea and it works, it's really valuable.—Kent Beck