It seems every time a Java course begins at a school somewhere and they get to inheritance half the students post this exact same questions (with slightly different wording) here and in every other Java forum worldwide.
I'd start to design a code solution using interfaces, then change an interface into an abstract class if I could see particular benefits. If an abstract class just as easily be an interface - make it an interface. It'll make your code more reusable / flexible in the future.
I know the interface has one major adv over abstract class i.e interface -> a class can implement more than one interface abstract class -> a class can extend only one abstract class apart from this is there any major advantage of using interface instead of abstract class.
You showed up just in time for the waffles! And this tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop