何时使用接口与Abstract类相比?

时间:2014-12-17 07:12:34

标签: java

我理解两者之间的技术差异,但我不明白为什么一个人比其他人更好用?任何人都可以给我一个例子来帮助我区分一个人的优势吗?

例如:如果我正在制作RPG游戏,我正在研究一些治疗项目。 uml图表是什么样的。我是否会使用项目界面,然后修复项目或抽象类。

1 个答案:

答案 0 :(得分:1)

何时使用接口

接口基本上用于继承行为,因为我们知道接口只能有抽象方法。当一个类实现该接口时,它必须实现其所有抽象方法(除非该类本身是一个抽象类),因此它的行为符合接口定义的方式。

例如,如果您希望您的类表现为线程。您需要实现Runnable接口并覆盖其run()方法。

  1. 我们需要继承两种或更多种形式的行为。
  2. 接口基本上是在我们知道该做什么的时候创建的,但我们不知道该怎么做。用更简单的术语来解释一下,假设你必须完成5项任务。但是可以有不同的方法来实现它们。任何实现它们的类都可以以他们希望的任何方式完成它们。因此,创建一个界面并将您的方法放在其中。
  3. 何时使用Abstract class

    我们知道抽象类可以同时具有抽象方法和具体方法。

    同样的例子,如果你要完成5个任务,但是对于一个任务,有一种默认的方法,所以你希望定义它的主体,你将无法在接口中这样做。

    在这种情况下,我们将创建一个抽象类。放入4个抽象方法和一个具体方法,它们将直接由子类继承,并且不需要自己定义它们。但是,如果他们希望他们可以覆盖其功能。

    另外请记住,一个类一次只能扩展一个抽象类。