public abstract class A {
abstract void polo();
}
class B extends A {
}
我怀疑的是,如果我在课程abstract
中提供B
关键字,则意味着它不会显示任何内容
abstract class B extends A {
}
为什么它没有在这里显示消息来实现A类中的方法 - 这是我的疑问。
如果我没有提供抽象关键字,则表示类B
表示如下
B类必须实现继承的抽象方法A.polo()
那个有什么问题。抽象类是否可以扩展另一个抽象类。
答案 0 :(得分:4)
如果一个非抽象类扩展了一个抽象类,它必须实现所有抽象方法,在你的情况下,类B必须实现polo()
如果你将B类抽象化,那么你就不必这样做了。但在这种情况下,您无法创建B的实例,扩展B的类应该实现polo
答案 1 :(得分:0)
您可以扩展一个抽象类,但是您必须决定新的抽象方法将做什么。您可以选择实现所有这些方法,因此不需要abstract关键字。您也可以实现某些方法或不实现任何方法,但必须将该类标记为抽象。 根据业务逻辑,您可以将抽象方法放入需要类实现的接口中。
答案 2 :(得分:0)
如果B是抽象的
不强制执行方法
但您可以实现该方法或左子类的实现
但如果B不是抽象的,则必须实施抽象方法
答案 3 :(得分:0)
我在这种情况下使用的一个方便的技巧是使B类非抽象开始。然后我使用IDE为所有抽象方法生成over-rides,然后我将B类抽象,然后通过重写的方法,并为每个方法决定是否实现它们,或者也将它们抽象为此级别。< / p>