Register now or log in to join your professional community.
Interface and abstract class are made for different purposes. For the simple example, suppose you are implementing play behaviour in the Football player and cricket player. Then first you will make Class Player, then make FootballPlayer extending Player, similarly CricketPlayer.
But if you are implementing play behaviour in Human and Animal then, for this scenario abstract class is not a good choice, you have to make an Interface EatableInterface which has eat method and Human and Animal class will implement that interface.
for other uses of the interface, you can learn about some design patterns, in design patterns interface is heavily used.