"A Java class can implement multiple interfaces but it can extend only one abstract class."
So if you wanted to make a Jumper interface, a Flyer interface, and a Digger interface, you could quickly compose classes that implement any of the seven combinations of those. You can't do that with Abstract.
Answers
Lots of reasons, but here is just one:
So if you wanted to make a Jumper interface, a Flyer interface, and a Digger interface, you could quickly compose classes that implement any of the seven combinations of those. You can't do that with Abstract.
https://www.google.com/search?q=java+abstract+vs+interface