1. 抽象类(abstract)
(1)不能被实例化,只能被继承
(2)抽象类中不一定包含抽象方法,但是包含抽象方法的类一定是抽象类
(3)抽象方法的修饰符只能是public、protected或default
(4)一个子类继承了抽象类,则必须实现该抽象类中所有的抽象方法,如果不实现则必须将该子类定义为抽象类
(5)抽象类中可以包含属性,方法,构造方法,但是构造方法不能用于实例化对象,只能被子类调用
2. 接口(interface)
(1)接口中可以包含变量和方法,变量隐式指定为public static final,且必须指定初始值,方法隐式指定public abstract
(2)一个类实现了接口,则必须实现该接口中的所有抽象方法,如果不实现则必须将该类定义为抽象类
(3)接口中的方法可以是抽象方法,静态方法,默认方法,但不能是普通方法,普通方法默认为抽象方法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)