如果我有三个班级
class A
class B extends A
class C extends A
使用抽象类或接口会给我任何类型的错误或影响我实现程序的方式吗?
答案 0 :(得分:4)
除非您需要共享实现,否则请使用接口。
如果您需要共享实现,请仔细考虑抽象类是否是实现此目的的正确方法。
继承是一个强大的工具,但很容易造成难以维护的混乱(我在这里感到内疚)。
但要回答你的问题 - 不,这个设置中没有任何内在因素会导致“错误”。
答案 1 :(得分:1)
您应该尽可能地选择接口。如果你使用类,Java很快就会成为一个限制因素。
答案 2 :(得分:1)
是。抽象类交换了一种重用实现的较短方式,可以灵活地为同一个对象提供多个接口。
除非您正在玩代码高尔夫,否则选择接口的灵活性通常是更好的选择。