如果我扩展一个抽象类,即实现一个接口,我是否需要重写这些方法?

时间:2015-03-05 13:10:17

标签: java interface abstract-class implementation

我有几个方法的接口。然后,我有一个抽象类,定义了一些方法,但也留下了一些抽象的方法。现在我有一个扩展抽象类的类。我是否需要从原始界面编写所有方法并定义它们,或者java是否知道其中一些方法已由抽象类实现?

3 个答案:

答案 0 :(得分:1)

必须实现接口方法。如果抽象类已经实现了其中的一些,那么你可以自由地在子类中覆盖它们。

答案 1 :(得分:1)

当您编写实现接口和/或从​​抽象基类派生的具体(非抽象)类时,该具体类必须为其指定的每个方法提供实现。指定的方法是通过在基类中声明abstract,或者由类或其基类声明要实现的接口指定。

如果编写实现接口的抽象类和/或从抽象基类派生,则新类不需要为其指定的任何方法提供实现;那些剩余的方法被显式或隐式地视为由新类声明为abstract

答案 2 :(得分:1)

在Interfaces中,您声明了一些方法(),不应该有实际的实现。 当您将接口实现为抽象类时,这些方法的声明存在于该抽象类中。您可以决定是否在此定义方法。 当你在具体类中扩展这些方法(一个将用于创建对象的方法)时,每个方法都需要定义,因为如果你已经在抽象类中定义了一些方法,你不需要再做一次,但是你可以做它