I know it is a very basic, classic and simple question to be asking about differences between interfaces and abstract classes in java. But this question is a bit different.
I understand that Java does not support inheriting from multiple classes to avoid the diamond problem and hence came up with the concept of interface as an alternative way to facilitate a kind of multiple inheritance. But, is this the only reason why interfaces exist?
What if, assume for some reason, Java Guys in one of its new version decide to overcome this limitation and allow inheriting from multiple classes, then, what would be the difference between abstract classes and interfaces? Will they be simply synonymous? Will the interfaces still have a reason to exist or will simply be redundant?