Java Abstract vs Interface
Get this right already, I been asked so numerous times during interview, but yet still don't know how to correctly answer this:
Short and simple answers:
1) Java does not support multiple inheritance, therefore we use interface.
2) Java can only extends one class but allows to implement many classes.
3) Abstract classes have method with definition, interface is (for show only, just headings) just the interface. Class that implement interface needs to provide the the definition.
4) Interface allows more flexible and less coupling.
5) No private method allows in interface, all public in order for classes to implement.
6) When to use interface? When method are less likely to change for example save, update and delete.















