首页 > Java > Java面试题 > 正文

java 中普通类和抽象类有哪些区别?

月夜之吻
发布: 2025-11-15 09:55:59
原创
448人浏览过
普通类可实例化,包含具体方法,用于直接使用;2. 抽象类用abstract定义,不能实例化,含抽象方法需子类重写;3. 抽象类作模板强制结构,普通类实现完整功能;4. 抽象类必须被继承,且Java单继承限制下只能继承一个抽象类。

java 中普通类和抽象类有哪些区别?

普通类和抽象类在 Java 中有明显区别,主要体现在定义、使用方式以及设计目的上。

1. 定义与实例化

普通类是可以被实例化的类,可以直接通过 new 关键字创建对象。它包含具体的方法实现,也可以包含成员变量和构造方法。

抽象类使用 abstract 关键字定义,不能被实例化。也就是说,不能直接 new 一个抽象类的对象。它的存在是为了被继承,供子类扩展。

2. 方法的实现要求

普通类中的所有方法都可以是具体实现的方法(除非是接口或默认方法等特殊情况),每个方法都有方法体。

立即学习Java免费学习笔记(深入)”;

抽象类可以包含抽象方法和具体方法。抽象方法没有方法体,只有声明,子类必须重写这些抽象方法(除非子类也是抽象类)。

AI卡通生成器
AI卡通生成器

免费在线AI卡通图片生成器 | 一键将图片或文本转换成精美卡通形象

AI卡通生成器 51
查看详情 AI卡通生成器
  • 抽象方法:abstract void doSomething();
  • 具体方法:public void run() { System.out.println("Running"); }

3. 设计目的不同

普通类用于描述一个完整的可复用的数据结构和行为集合,适合直接使用。

抽象类通常用于表达一种“模板”或“框架”,代表一组相关类的共同特征,强制子类遵循一定的结构。它更适合于具有“is-a”关系的继承体系中。

4. 继承限制

普通类可以被继承,也可以不被继承,完全取决于需求。

抽象类必须被继承才能使用其功能。而且 Java 是单继承的,一个类只能继承一个抽象类(但可以实现多个接口)。

基本上就这些。抽象类更强调代码的结构设计和约束,而普通类更注重实际的功能实现。选择使用哪种,取决于你是否需要定义一个不完整的、等待子类补充的类结构。

以上就是java 中普通类和抽象类有哪些区别?的详细内容,更多请关注php中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号