不确定为什么我需要,但是在Java中是否可以使用具有自己的抽象子类的具体子类的抽象超级?假设抽象最终会在其下面有具体的类。
答案 0 :(得分:1)
是的,你可以让具体类扩展抽象类,反之亦然 - 抽象类扩展具体类。
public abstract class A {
}
public class B extends A {
}
public abstract class C extends B {
}
答案 1 :(得分:-1)
这不是一个非常糟糕的做法。事件如果Java允许它,从UML图的角度来看它没有任何意义。
如果某个类没有实现预期的所有行为,则该类为abstract
。然后在具体的子类中,它是具体的,因为它实现了所需的所有行为。那么,拥有一个abstract
子子类并没有任何意义。它是具体类的特化,意味着它具有该对象所需的所有协议。
换句话说,具体概念的专业化不可能是抽象的。