java抽象类与接口的区别(谈谈自己的理解)

2023-11-19

抽象类?什么是抽象类?

从名字上来讲,我觉得就是对类的一个抽象,把类(事物)抽象出来,当做模板,也就是说在有很多类的时候,我们把一些相似的类的某些方法,某些成员变量抽象出来作为一个模板,让这些类更方便的去继承。所以,在抽象类中,有抽象方法也有普通方法。一个抽象类就是包含抽象方法的类(java编程思想)。

在继承抽象类的时候,子类必须得实现抽象类中的所有抽象方法,抽象类也无法去创建实例,因为里面含有抽象的方法。

接口?什么是接口?
接口通常来说是一个对行为的抽象,它是提供给别人调用的方法。它里面所有的方法都必须为public,而且它的成员变量必须是public static final 的。


接口与抽象类的区别:
1.继承抽象类的子类们的本质都是相似的,它们体现的是一种 “is-a" 的关系,就像动物中的猫和狗;而对于接口的继承更多的是一种行为的相似,是一种 “like-a” 的关系,比如飞机和鸟,它们都具有飞的行为,却并不需要在本质上相似。

2.抽象类可以拥有任意范围的成员数据,既可以是抽象,也可以是非抽象;但是接口,所有的方法必须是抽象的,所有的成员变量必须是 public static final的,某种程度上来说,接口是对抽象类的一种抽象。

3.一个类只能继承一个抽象类,但却可以实现多个接口。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java抽象类与接口的区别(谈谈自己的理解) 的相关文章

  • C# 与 JAVA 接口实例

    我不知道该如何回答我的问题 它是关于Android可以实例化接口的 我正在尝试用 C 来做 现在我非常确定 Java 和 C 的规则是不能创建抽象和接口的实例 但我很想知道Android是如何做到这一点的 在 Android 中你可以这样做
  • 我可以在 Java 枚举上使用构建器模式吗

    我正在重写一些代码 并且我已经决定了重新创建类的方法 因为有固定数量的工作表 我将它们创建为枚举 这是基于构建器模式与伸缩构造器的可读性的决定 我的代码获取一些 xls 文件 添加标题 并从其他 xls 文件中读取一些 也许还有一些子表 然
  • Google App Engine 数据存储写入:如何远程启用/禁用只读模式?

    在阅读备份时GAE 的数据存储 https developers google com appengine docs adminconsole datastoreadmin where 我们强烈建议您在备份或恢复期间将应用程序设置为只读模式
  • Java 7u51/7u55 带星号的清单变量

    我正在部署一个小程序 其中包含清单中的下一个变量 Manifest Version 2 0 Ant Version Apache Ant 1 8 2 Trusted Library true Permissions all permissi
  • selenium 2.0 中的 isElementPresent

    大家好 我正在使用 webdriver 所以如果我想使用 selenium s rc 函数 isElementPresent 我必须模拟 selenium rc 所以我会执行以下操作 import org openqa selenium B
  • Java中的字节和字符转换

    如果我将一个字符转换为byte然后回到char 那个角色神秘地消失了 变成了别的东西 这怎么可能 这是代码 char a line 1 byte b byte a line 2 char c char b line 3 System out
  • 如何在android中使用retrofit访问404错误?

    我正在使用改造 2 访问 REST API 以使用原始正文插入 JSON 数据 我从服务器获得成功响应 但在响应时收到 404 错误 我想访问404错误请帮我解决这个问题 ApiUtil getServiceClass sendFinalC
  • 在 Spring Webflux 中执行阻塞 JDBC 调用

    我使用 Spring Webflux 和 Spring data jpa 使用 PostgreSql 作为后端数据库 我不想在进行数据库调用时阻塞主线程 例如find and save 为了实现同样的目标 我有一个主调度程序Controll
  • 我从 String placeName = placeText.getText().toString(); 收到空指针异常

    您好 想从编辑文本中获取地名并在地图上标记 这是我的代码 其中出现空指针异常 请帮助我应该做什么以及哪里出错了 因为我从对话框中的编辑文本字段获取地名 View layout View inflate this R layout alert
  • 如何对 jar 文件资源使用 File.separator?

    我正在尝试读取位于 jar 文件中的属性文件 我想使用 File separator 因为应用程序将在多个平台上运行 我正在构建路径如下 jarFilePath jar file jarFile getAbsolutePath jarPro
  • 为什么 CompletableFuture 的 thenAccept() 不在主线程上运行

    我在 CompletableFuture 的 SupplyAsync 中处理长时间运行的操作 并将结果放入 thenAccept 中 有时 thenAccept 在主线程上执行 但有时它在工作线程上运行 但我只想在主线程上运行 thenAc
  • 莫基托。验证方法参数是特定类

    我有一个方法 void putObject
  • 尝试通过 Java 8 中的 JDBC-ODBC 连接到 .accdb 文件时出现 ClassNotFoundException

    我正在 Eclipse EE IDE 中的 Java 项目中工作 我必须在其中查询 accdb文件 问题是当我尝试加载驱动程序然后连接到数据库时 它给了我一个异常错误 My code try String filePath myfilepa
  • 可空日期列合并问题

    我在 Geronimo 应用程序服务器上使用 JPA 和下面的 openjpa 实现 我也在使用MySQL数据库 我在更新具有可为空 Date 属性的对象时遇到问题 当我尝试合并 Date 属性设置为 null 的实体时 不会生成 sql
  • 为什么 OOP 中静态类的最佳实践有所不同?

    我目前正在阅读有关 Java 最佳实践的内容 我发现根据这本书 https rads stackoverflow com amzn click com 0321356683我们必须优先选择静态类而不是非静态类 我记得在 C 最佳实践中 我们
  • Zookeeper 未启动,nohup 错误

    我已经下载了zookeeper 3 4 5 tar gz 解压后我将conf zoo cfg写为 tickTime 2000 dataDir var zookeeper clientPort 2181 现在我尝试通过 bin zkServe
  • java - 简单计算在多线程中比在单线程中花费更长的时间

    我试图了解如何利用多线程 我写了一个简单的程序来增加i 比方说 使用两种方式 400 000 次 单线程方式 0 到 400 000 和多线程方式 在我的例子中 4 次 0 到 100 000 线程数等于Runtime getRuntime
  • Bipush 在 JVM 中如何工作?

    我知道 iload 接受整数 1 到 5 但是如何使用 bipush 指令扩展到更高的数字 特定整数如何与字节码一起存储 有几种不同的指令可用于推送整数常量 最小的是iconst 指令 这些只是一个字节 因为该值是在操作码本身中编码的 ic
  • 在edittext android中插入imageview

    我想将 imageview 放在 edittext 中 可能吗 我检查了 evernote 应用程序 它能够将照片放在编辑文本部分 我想让我的应用程序完全相同 我如何才能将从图库中选择的图像视图放入编辑文本中 我首先尝试将 imagevie
  • ImageIO.read(...) - 非常慢,有更好的方法吗?

    我正在加载大量将在我的应用程序中使用的图标 我计划在服务器启动时从 jar 中加载所有这些 然而 由于数百张图像加起来刚刚超过 9MB 执行此任务仍然需要 30 秒多的时间 我现在正在一个单独的线程中执行此操作 但这让我想知道我是否在代码中

随机推荐

  • las点云数据格式

    LIDAR Data LIDAR数据类似于带有激光的RADAR 是光检测和测距的缩写 laspy库提供了python API 用于读取 写入和操作一种流行的用来存储LIDAR数据的 LAS文件 LAS文件是根据几种规格打包的二进制文件 La
  • MATLAB算法实战应用案例精讲-【自然语言处理】语义分割模型-DeepLabV3

    目录 1 DeepLab系列简介 1 1 DeepLabV1 1 1 1创新点 1 1 2 动机 1 1 3 应对策略 1 2 DeepLabV2
  • PowerDesigner显示Comment注释

    PowerDesigner默认显示的列是Name及类型 如下图示 现在需要显示注释列 以便使得ER图更加清晰 但是PowerDesigner勾选Comment显示没有效果 所以通过以下几步来处理 双击表 弹出表属性对话框 切到Columns
  • Java安全知识share

    这里简单的介绍一下自己创建的知识星球 为什么要用知识星球呢 一方面他有APP然后方便使用里面的文章标签等功能 另一方面可能有一点点 哈哈哈 总的来说是方便使用 该知识星球包括Java相关的安全知识和其他相关的安全知识php nodejs C
  • labuladong的算法小抄pdf_真漂亮!这份GitHub上爆火的算法面试笔记,助你圆满大厂梦...

    前言 Github作为程序员们的后花园 一直以来都是程序员最喜欢逛逛 学习的地方 小编也不例外 最近看到一份对标BAT等一线大厂的算法面试笔记 已经标星68 K了 很是惊讶 看了一下 觉得知识点整理得非常的详细 也不愧能获得这么多星 资料已
  • Nginx配置及使用个人总结

    Nginx配置及使用个人总结 文章目录 Nginx配置及使用个人总结 1 前言 2 个人使用简单模板文件 3 常用nginx命令 1 前言 根据使用场景 可能会将前后端分离 一些小的工具式web分离反而麻烦 直接打成一个程序包更好 这时Li
  • jdk1.8笔记(1)-函数式接口

    文章目录 1 函数式接口 1 1 概念 1 2 格式 1 3 FunctionalInterface注解 例子 2 函数式编程 2 1 Lambda的延迟执行 2 2 使用Lambda作为参数和返回值 3 常用的函数式接口 3 1 Supp
  • C++ 嵌套类使用

    C 嵌套类 1 嵌套类的名字只在外围类可见 2 类的私有成员只有类的成员和友元可以访问 因此外围类不可以访问嵌套类的私有成员 嵌套类可以访问外围类的成员 通过对象 指针或者引用 3 一个好的嵌套类设计 嵌套类应该设成私有 嵌套类的成员和方法
  • 【云知识】云计算平台都有那些,涨涨云概念

    2023年 第36周 给自己一个目标 然后坚持总会有收货 不信你试试 云计算平台是指为企业和个人提供云计算服务的基础架构和环境 它提供了一系列的硬件 软件和网络设施 用于支持应用程序的部署 管理和运行 以及数据的存储 处理和传输 目录 一
  • vue中的修饰符作用详细讲解

    一 Vue的修饰符是什么 Vue中的修饰符分为以下五种 表单修饰符 事件修饰符 鼠标按键修饰符 键值修饰符 v bind修饰符 二 修饰符的作用 1 表单修饰符 修饰符 作用 使用 lazy 填完信息 光标离开标签的时候 才会将值赋予给va
  • 基于FFmpeg和Screen Capturer Recorder实现屏幕和声音的录制

    当我们看到一些精彩的视频画面 但无法下载时 可以通过录屏的方式将视频和音频录制下来 这个时候我们需要安装采集视频和音频的工具screen capture recorder 以下是在windows10环境下 基于FFmpeg和Screen C
  • electron-vue 树莓派armv7l打包踩坑记录

    1 unsupported arch arm 报错 Unsupported arch arm failedTask build stackTrace Error Unsupported arch arm 解决办法 在package json
  • c语言 二叉树的链式存储

    先序遍历 根左右 中序遍历 左根右 后序遍历 左右根 include
  • Kotlin和Android:JetBrains和Google落后于一种语言

    Google I O 2017 宣布了几项重要公告 但对我而言 最有趣的一个是Android上的 对Kotlin的一流支持 关于此公告的Kotlin博客文章讨论了这给Kotlin用户带来的好处 如果您担心Kotlin支持的其他平台 用于服务
  • 比较和合并实时脚本和函数

    比较和合并实时脚本和函数 实时脚本 Live Script 和函数 Function 是 MATLAB 中常用的两种代码组织形式 它们在代码编写 调试和重用方面有着不同的特点 本文将比较这两种形式 并探讨如何将实时脚本和函数合并使用 实时脚
  • html 中的正则(基础)

    正则表达式 1 什么是 正则表达式就是专门规定一个字符串中字符出现的规律的一套规则 2 何时 2大类场景 a 验证字符串格式 b 查找敏感词 如何在js中创建正则表达式 用于查找和匹配 2种 1 标准写法 a var 变量 new RegE
  • python列表中的字典怎么遍历_Python循环遍历列表中的嵌套字典或字典

    我有一些我需要处理的数据 它看起来像字典中字典中的字典 所有字典都存储在列表中 这是解析的JSON数据 所以我无法控制它的格式 以下是一些数据 我删除了很多数据 因为它不相关且简洁 devices server device base ph
  • 阿里云盘正式上架,速度25MB/s!(附下载链接+邀请码)

    今年 8 月 阿里巴巴推出了一款名为 阿里云网盘 的独立 App 定位为C端用户提供服务 网盘空间更大 下载速度更快 但之后很快这款App就下架了 也许是阿里没有准备好 在经历过几个月的完善之后现在又重新上架了 11月18日消息 阿里云网盘
  • matlab2019a中深度学习网络的训练方法(Deep Learning Toolbox系列篇7)

    在matlab2019a中 有一个trainNetwork的函数 可以直接对一个自己构建的深度学习网络模型及数据集进行训练拟合 下面讲一下具体的网络构建语法 数据集输入以及网络超参数的设定等问题 在官方的介绍文档里面 trainNetwor
  • java抽象类与接口的区别(谈谈自己的理解)

    抽象类 什么是抽象类 从名字上来讲 我觉得就是对类的一个抽象 把类 事物 抽象出来 当做模板 也就是说在有很多类的时候 我们把一些相似的类的某些方法 某些成员变量抽象出来作为一个模板 让这些类更方便的去继承 所以 在抽象类中 有抽象方法也有