Your question is Abstract Classes vs Interfaces. Take a moment with it on the right.
Talk me through your thinking if you like. When you're confident, submit your answer and I'll grade it like a real screen (7/10 or better passes).
Explain the difference between abstract classes and interfaces in Java. When would you use each, and what trade-offs do they introduce in object-oriented design?