I am having doubt with Java 8's default method feature with interfaces. Means with java 8 you can provide default implementation to a method in interface, so that it is no longer necessary for implementing classes to override that method.
Now interface is also able to contain abstract method as well as concrete method same as abstract class. Both behaving in same manner. Talking about the differences between interface and abstract methods can be identified like - 1. multiple interfaces can be implemented for a class, but only one class can be extended. 2. all interface fields are public static final, while in case of abstract class you have control over access modifiers of fields and methods.
My doubt is where exactly the difference comes into picture, that whether we should go for Abstract class or interface? What is the actual purpose having both Abstract class and interface separately?