简体   繁体   中英

Using abstract classes and Interfaces

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?

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".

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.

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM