Normal Class扩展到另一个抽象类

时间:2014-02-20 09:38:01

标签: java

public abstract class A {
    abstract void polo();
}

class B extends A {
}

我怀疑的是,如果我在课程abstract中提供B关键字,则意味着它不会显示任何内容

abstract class B extends A {
}

为什么它没有在这里显示消息来实现A类中的方法 - 这是我的疑问。

如果我没有提供抽象关键字,则表示类B表示如下

  

B类必须实现继承的抽象方法A.polo()

那个有什么问题。抽象类是否可以扩展另一个抽象类。

4 个答案:

答案 0 :(得分:4)

如果一个非抽象类扩展了一个抽象类,它必须实现所有抽象方法,在你的情况下,类B必须实现polo()

如果你将B类抽象化,那么你就不必这样做了。但在这种情况下,您无法创建B的实例,扩展B的类应该实现polo

答案 1 :(得分:0)

您可以扩展一个抽象类,但是您必须决定新的抽象方法将做什么。您可以选择实现所有这些方法,因此不需要abstract关键字。您也可以实现某些方法或不实现任何方法,但必须将该类标记为抽象。 根据业务逻辑,您可以将抽象方法放入需要类实现的接口中。

答案 2 :(得分:0)

如果B是抽象的        不强制执行方法
       但您可以实现该方法或左子类的实现

但如果B不是抽象的,则必须实施抽象方法

答案 3 :(得分:0)

我在这种情况下使用的一个方便的技巧是使B类非抽象开始。然后我使用IDE为所有抽象方法生成over-rides,然后我将B类抽象,然后通过重写的方法,并为每个方法决定是否实现它们,或者也将它们抽象为此级别。< / p>