是的,抽象(abstract)类的子类必须是非抽象类。抽象类是一种特殊类型的类,用于提供一组共同的属性和方法,但不能被直接实例化。它可以包含具体的方法实现以及抽象方法的声明。
当一个类继承自一个抽象类时,它需要实现(覆盖)抽象类中的所有抽象方法,并且可以选择重写抽象类中的具体方法。这样做才能创建抽象类的实例,并完整地实现抽象类所定义的行为。
因此,如果一个子类仍然抽象类,它就不能被直接实例化,并且它的实现仍然是不完整的。子类必须提供完整的实现来满足抽象类的要求,从而使其成为非抽象类,可以被实例化和使用。
总结起来,抽象类作为一种设计抽象的手段,需要子类做出具体实现才能使用,因此子类必须是非抽象类。