我有类 B,它继承自类 A。超类 A 是抽象的,包含一个抽象方法。我不想在 B 类中实现抽象方法,因此我也需要将 B 类声明为抽象。声明 B 类抽象,有两件事对我有用(程序编译和运行正确):
1.)我没有在B类中声明任何抽象方法,即使该类是抽象的。我认为这是可行的,因为该类继承了类 A 的抽象方法,这足以将该类声明为抽象:我们不需要在该类中直接声明任何其他抽象方法。
2.) 我确实在 B 类中声明了与在 A 类中声明的相同的抽象方法。这是某种覆盖(?),与 java 中的覆盖不同(使用相同的标头,但提供不同的实现),这里我只是再次使用该方法的相同标头。
这两件事都有效,我不确定它们是否都可以,以及其中一些是否比另一个更受欢迎(更正确)。这两种方式是否相同(它们对 Java 是否意味着相同)?
在这里,我给出了一些示例类,以便我的意思对您来说更清楚:
情况1。):
public abstract class A {
public abstract String giveSum();
}
public abstract class B extends A {
}
案例2):
public abstract class A {
public abstract String giveSum();
}
public abstract class B extends A {
public abstract String giveSum();
}
问候