当前位置: 首页 > news >正文

抽象类和接口的区别

1. 定义

  • 抽象类:用于描述一类事物的共性
  • 接口:用于描述行为。

2. 方法和变量

抽象类

  • 可以有普通方法和抽象方法。
  • 可以有普通成员变量和静态常量。

接口

  • JDK 8之前只支持抽象方法,JDK 8后支持默认方法和静态方法。
  • 变量只能是public static final。

3. 继承关系

  • 抽象类:一个类只能继承一个抽象类(单继承)。用extends关键字。
  • 接口:一个类可以实现多个接口(多实现)。用implements关键字。

4. 构造方法

  • 抽象类:可以有构造方法,用于被子类调用。
  • 接口:不能有构造方法。

5. 默认访问修饰符

  • 抽象类:普通类的规则,成员可以是private、protected或public。
  • 接口:所有方法默认是public abstract,变量默认是public static final。

还在纠结抽象类和接口?看这篇就够了!-阿里云开发者社区

http://www.xdnf.cn/news/12187.html

相关文章:

  • 基于X86/RK/全志+FPGA+AI工业一体机在电力接地系统中的应用方案
  • 【人力资源管理系统】C#实现
  • 国产品牌芯洲科技100V降压芯片系列
  • vscode 红色波浪线问题
  • YOLOv8 Bug 及解决方案汇总 【2024.1.24更新】【环境安装】【训练 断点续训】OMPError / KeyError
  • 深度学习3.1 线性回归
  • vcpkg缓存问题研究
  • volatile 和 memory barrier 的组合用法
  • xml+html 概述
  • React 事件处理基础
  • 简单好用的在线工具
  • Webpack基础
  • PHP8.2.9NTS版本使用composer报错,扩展找不到的问题处理
  • 清华大学李升波教授的强化学习Tutorial Lecture
  • 2D物体检测学习
  • Linux 系统编程 day4 进程管道
  • 多线程使用——多线程的创建和常用方法
  • 2025年MathorCup数学应用挑战赛【选题分析】
  • Android tinyalsa库函数剖析
  • nginx 在 windows 中 部署 jar包 和 dist包
  • 深度学习基础--CNN经典网络之InceptionV3详解与复现(pytorch)
  • goland做验证码识别时报“undefined: gosseract.NewClient”
  • 哪种电脑更稳定?Mac?Windows?还是云电脑? 实测解密
  • 对WAV文件进行降噪
  • 探索 Higress:下一代云原生 API 网关
  • ulauncher软件启动器
  • Nacos 中使用了哪些缓存?缓存的目的是什么?是如何实现的?
  • 基于领域知识的A型主动脉夹层综合分割及面向临床的评估|文献速递-深度学习医疗AI最新文献
  • 获取不到AndroidManifest中的meta-data
  • AI Agents系列之构建多智能体系统