接口、普通类和抽象类

一、先弄懂:三者的"身份定位"

1.普通类:最基础的功能载体

普通类是 JAVA 中的最常规的类,具备的特性:

  • 定义成员变量 (包括实例变量和类变量)和成员方法(包括普通方法、静态方法、构造方法);
  • 方法既可以有方法体实现具体逻辑,也能根据需求重载 、重写;
  • 支持实例化,可以通过关键字 new 来创建对象

2.抽象类:"半抽象"的模版

用 abstract 关键字修饰的类,兼具"模版性"和"约束性"

  • 可以包含普通类的所有成员(变量、普通方法、构造方法);
  • 允许定义抽象方法(用 abstract 修饰,只有方法签名,没有方法体),约束子类必须实现的核心逻辑;
  • 无法直接实例化,必须子类继承并实现所有的抽象方法后,才能够创建子类对象

3. 接口:"纯抽象" 的行为规范

接口是用interface关键字定义的特殊类型,它本质是一套 "行为契约",只规定 "做什么",不关心 "怎么做":

JDK 8 之前:只能定义常量(默认public static final)和抽象方法(默认public abstract);

JDK 8 及之后:支持定义默认方法(default修饰,带方法体,子类可直接使用或重写)和静态方法(static修饰,只能通过接口名调用);

无法实例化,必须由类通过implements关键字实现接口中的所有抽象方法(默认方法可选择重写);

一个类可以实现多个接口,以此实现 Java 的 "多继承" 效果。

相关推荐
青春逝如流水6 小时前
Java 线程在内存模型(JMM)与 JVM 实现:规范与落地的多元路径
java·开发语言·jvm·多线程·ai文章
wangbing11257 小时前
springboot应用关闭时触发动作
java·spring boot·后端
weixin_4604435610 小时前
2026年新修订《网络安全法》实施:Java私有化考试系统如何做好SBOM、漏洞治理与安全升级?
java·开发语言·在线考试系统·企业培训考试系统·宏远培训考试系统·国企培训考试系统·国产化培训系统
海鸥-w13 小时前
什么是AOP
java
Cc.Y14 小时前
Java零基础入门:可变字符串与包装类:StringBuilder、StringBuffer 与 通讯录管理系统实战
java·开发语言·python
paopaokaka_luck14 小时前
基于springboot+vue的智慧家政管理系统(AI问答、 WebSocket实时沟通、ECharts运营分析、订单规则与服务追踪)
java·javascript·spring boot·数据分析·echarts·mybatis
sm_9267870514 小时前
RFID 标签打印的技术实现要点与二次开发实践
java·大数据·前端·c++·编辑器
阿森_dev14 小时前
2027 届毕设选题怎么选:30 个 Java 方向选题的实现难度排序
java·开发语言·spring boot·毕业设计·课程设计
Sarvartha14 小时前
Lambda 表达式和函数式接口
java·开发语言
计算机毕业设计杰瑞14 小时前
【计算机毕设精品】基于SpringBoot的一体化教务与学业质量管理系统的设计与实现,附源码_增删改查_java项目_可完美运行部署_网站项目
java·spring boot·课程设计