哪个是首选:抽象类vs接口?

时间:2013-05-21 10:14:17

标签: java class inheritance interface abstract

我在一个大型应用程序中遇到了一些设计构造:

  1. 独立使用抽象类
  2. 独立使用接口
  3. 实现接口的抽象类
  4. 界面包括另一个界面
  5. 作为java新手,我真的很感激,如果有人能够在特定情况下准确地确定一个人的优势。如果我们不使用这样的结构,我们会错过什么?

1 个答案:

答案 0 :(得分:3)

  1. 使用抽象类,您可以拥有不需要由继承抽象类的类实现的函数。 (看http://docs.oracle.com/javase/tutorial/java/IandI/abstract.html

  2. 使用接口,每个子类都必须定义此接口提供的每个方法。 (看http://docs.oracle.com/javase/tutorial/java/IandI/createinterface.html

  3. 使用抽象类,实现接口基本上是无用的,如果你不需要任何其他类的接口,除了这个抽象类。如果抽象类不是实现接口的唯一类,那么使用它是有意义的。

  4. 不可能

  5. 可能......但是只有在你需要那个基本界面时才会有意义吗