未使用abstract关键字的空类有子类,该类属于抽象类吗?
问题解答
这是普通父类,而非抽象类。
在Java这类面向对象编程语言中,一个类是否属于抽象类的核心判定依据是是否使用abstract关键字进行声明,和类内部是否包含属性、方法,以及是否存在子类没有任何关联。
哪怕这个Vehicle类是空的,只要没加abstract修饰符,它就是一个可以直接实例化的普通类——你完全能通过new Vehicle()这样的代码创建它的实例对象,而抽象类是不允许被直接实例化的。
如果你的设计初衷是让Vehicle仅作为父类被继承、不允许直接创建实例,那应该给它加上abstract关键字,将其定义为抽象类。但就当前的代码定义而言,它就是个普通父类。
内容的提问来源于stack exchange,提问作者user14798306
相关产品推荐
相关产品推荐

