Reputation: 27629
If I have three classes
class A
class B extends A
class C extends A
Would using abstract classes or interfaces give me any type of errors or affect the way I implement the program?
Upvotes: 0
Views: 320
Reputation: 906
Unless you need to share implementation, favor interfaces.
If you need to share implementation, think carefully if an abstract class is the right way to accomplish this.
Inheritance is a powerful tool, but can easily create an unmaintainable mess (I have been guilty here).
But to answer your question - no, there is nothing inherent in this setup that would cause an "error".
Upvotes: 4
Reputation: 49311
Yes. Abstract classes trade a shorter way of reusing implementation for the flexibility to provide multiple interfaces to the same object.
Unless you're playing code-golf, choosing the flexibility of interfaces is usually the better option.
Upvotes: 1
Reputation: 10430
You should generally prefer interfaces whenever you can. Java's lack of multiple inheritance quickly becomes a limiting factor if you use classes for that.
Upvotes: 1