2010-02-28 105 views
0

如果我有使用三类使用抽象类和接口

class A 

class B extends A 

class C extends A 

将抽象类和接口给我任何类型的错误或影响我执行程序的方式吗?

+8

这取决于。你想做什么? – SLaks 2010-02-28 18:29:41

+8

你问这个问题的方式太模糊了,我几乎认为它不是一个真正的问题。阅读子类,接口和抽象类,并尝试提出更具体的内容。 – MatrixFrog 2010-02-28 18:31:51

回答

4

除非需要共享实现,否则欢迎界面。

如果您需要共享实现,请仔细考虑抽象类是否是实现此目标的正确方法。

继承是一个强大的工具,但可以很容易地创建一个不可维护的混乱(我在这里一直有罪)。

但是要回答你的问题 - 不,在这个设置中没有任何内容会导致“错误”。

1

你应该通常喜欢接口,只要你可以。如果你使用了类的话,那么Java缺乏多重继承会迅速成为一个限制因素。

+0

Java允许接口的多重继承,并且如果您使用AspectJ,则可以将方法的实现直接添加到接口。放在一起,你会得到:多个实现继承。 – whiskeysierra 2010-02-28 23:37:00

1

是的。抽象类交换一个更短的重用实现方法,以便为同一个对象提供多个接口。

除非你玩高尔夫球,否则选择接口的灵活性通常是更好的选择。