普通类可实例化,包含具体方法,用于直接使用;2. 抽象类用abstract定义,不能实例化,含抽象方法需子类重写;3. 抽象类作模板强制结构,普通类实现完整功能;4. 抽象类必须被继承,且Java单继承限制下只能继承一个抽象类。

普通类和抽象类在 Java 中有明显区别,主要体现在定义、使用方式以及设计目的上。
普通类是可以被实例化的类,可以直接通过 new 关键字创建对象。它包含具体的方法实现,也可以包含成员变量和构造方法。
抽象类使用 abstract 关键字定义,不能被实例化。也就是说,不能直接 new 一个抽象类的对象。它的存在是为了被继承,供子类扩展。
普通类中的所有方法都可以是具体实现的方法(除非是接口或默认方法等特殊情况),每个方法都有方法体。
立即学习“Java免费学习笔记(深入)”;
抽象类可以包含抽象方法和具体方法。抽象方法没有方法体,只有声明,子类必须重写这些抽象方法(除非子类也是抽象类)。
普通类用于描述一个完整的可复用的数据结构和行为集合,适合直接使用。
抽象类通常用于表达一种“模板”或“框架”,代表一组相关类的共同特征,强制子类遵循一定的结构。它更适合于具有“is-a”关系的继承体系中。
普通类可以被继承,也可以不被继承,完全取决于需求。
抽象类必须被继承才能使用其功能。而且 Java 是单继承的,一个类只能继承一个抽象类(但可以实现多个接口)。
基本上就这些。抽象类更强调代码的结构设计和约束,而普通类更注重实际的功能实现。选择使用哪种,取决于你是否需要定义一个不完整的、等待子类补充的类结构。
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号