”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 实现接口

实现接口

发布于2024-11-08
浏览:583
  • 定义接口后,一个或多个类可以实现它。

  • 要实现接口,请在类定义中使用 Implements 子句。

  • 该类必须实现接口所需的所有方法。

  • 包含 Implements 子句的类的一般形式是:

类类名扩展超类实现接口{
// 类体
}

  • 若要实现多个接口,接口之间用逗号分隔。

  • 实现接口时,extends子句是可选的。

  • 实现接口的方法必须声明为 public。

  • 实现方法的签名必须与接口中指定的签名完全匹配。

  • 实现Series接口的示例:

  • 在此示例中,ByTwos 类实现 Series 接口,生成一系列数字,每次调用 getNext() 方法时该数字都会增加 2。

Implementando interfaces

  • ByTwos 类中的 getNext()、reset() 和 setStart() 方法是使用公共访问说明符声明的。

  • 这是必要的,因为当实现接口定义的方法时,必须将其声明为 public。

  • 接口的所有成员都是隐式公共的,因此类中的实现必须遵循此访问修饰符。

  • 这是一个演示 ByTwos 的类:

Implementando interfaces

  • 实现接口的类定义附加成员是允许的,也是常见的。

Implementando interfaces

  • 包含 getPrevious() 方法不需要对 Series 接口进行任何更改。

  • 在不影响接口的情况下修改实现的灵活性是在面向对象编程中使用接口的主要优点之一。

Implementando interfaces

  • ByThrees 类还实现了 Series 接口。

抽象类:

  • 如果一个类包含接口但没有实现它定义的所有方法,则必须将其声明为抽象。

  • 抽象类不能直接实例化(即不能从它们创建对象)。

  • 它们可以用作抽象超类,允许子类提供接口方法的完整实现。

版本声明 本文转载于:https://dev.to/devsjavagirls/implementando-interfaces-49m5?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 在 Go 中如何可靠地比较函数指针是否相等?
    在 Go 中如何可靠地比较函数指针是否相等?
    检测 Go 中函数的指针相等性每周传统上,比较 ​​Go 中的两个非零函数指针涉及使用 == 或 != 运算符。然而,根据最近的变化,这种方法现在会导致错误。更改背后的基本原理函数指针相等比较的消除源于相等与同一的概念。在 Go 中,== 和 != 运算符评估值的等价性,而不是同一性。这种区别旨在防...
    编程 发布于2024-12-22
  • 如何在CSS中选择具有多个属性的元素?
    如何在CSS中选择具有多个属性的元素?
    如何在 CSS 中指定多个属性选择器在 CSS 中,可以根据多个属性选择元素。当您想要使用条件组合定位特定元素时,这会很有用。语法:要选择与多个属性值匹配的元素,请使用以下语法:[attribute1=value1] [attribute2=value2]例如,选择具有属性的输入元素name=&qu...
    编程 发布于2024-12-22
  • Go方法中`func`后面的括号表示什么?
    Go方法中`func`后面的括号表示什么?
    理解 Go 方法中 func 之后的括号在 Go 中,你可能会遇到 func 关键字后面的括号。这些表示方法,而不是函数。我们通过一个具体的例子来理解这个特性:func (v Version) MarshalJSON() ([]byte, error) { return json.Marshal...
    编程 发布于2024-12-22
  • 如何让我的 Go 程序无限期运行?
    如何让我的 Go 程序无限期运行?
    在 Go 程序中维护执行在 Go 中,主 Goroutine 作为程序的入口点。然而,一旦它终止,整个过程也会终止。这对设计为无限期运行的应用程序提出了挑战。传统方法传统上,程序通过以下方式保持主要活动状态:import "fmt" func main() { go fore...
    编程 发布于2024-12-22
  • Bootstrap 4 Beta 中的列偏移发生了什么?
    Bootstrap 4 Beta 中的列偏移发生了什么?
    Bootstrap 4 Beta:列偏移的删除和恢复Bootstrap 4 在其 Beta 1 版本中引入了重大更改柱子偏移了。然而,随着 Beta 2 的后续发布,这些变化已经逆转。从 offset-md-* 到 ml-auto在 Bootstrap 4 Beta 1 中, offset-md-*...
    编程 发布于2024-12-22
  • 如何使用 jQuery 创建动态颜色渐变?
    如何使用 jQuery 创建动态颜色渐变?
    使用 jQuery 实现动态颜色淡入淡出:增强用户焦点的指南动画文本可以有效地吸引用户注意力,但是淡入背景怎么样?颜色来突出显示重要信息?使用 jQuery,这项任务变得毫不费力。使用 jQueryUI 淡入/淡出背景颜色要使用 jQuery 专门为元素的背景颜色设置动画,您需要包含 jQueryU...
    编程 发布于2024-12-22
  • 尽管代码有效,为什么 POST 请求无法捕获 PHP 中的输入?
    尽管代码有效,为什么 POST 请求无法捕获 PHP 中的输入?
    解决 PHP 中的 POST 请求故障在提供的代码片段中:action=''而不是:action="<?php echo $_SERVER['PHP_SELF'];?>";?>"检查 $_POST数组:表单提交后使用 var_dump 检查 $_POST 数...
    编程 发布于2024-12-22
  • 如何使用 MySQL 查找今天生日的用户?
    如何使用 MySQL 查找今天生日的用户?
    如何使用 MySQL 识别今天生日的用户使用 MySQL 确定今天是否是用户的生日涉及查找生日匹配的所有行今天的日期。这可以通过一个简单的 MySQL 查询来实现,该查询将存储为 UNIX 时间戳的生日与今天的日期进行比较。以下 SQL 查询将获取今天有生日的所有用户: FROM USERS ...
    编程 发布于2024-12-22
  • 为什么我的 Facebook Graph API 从 v2.2 迁移到 v2.3 后失败?
    为什么我的 Facebook Graph API 从 v2.2 迁移到 v2.3 后失败?
    从 v2.2 迁移到 v2.3 后 Facebook Graph API 无法运行升级到 Facebook Graph API v2.3 后,开发人员遇到了某些 API 请求无法返回数据的问题。本文探讨了遇到的具体问题,并根据最新版本 SDK 中引入的更改提供了解决方案。问题描述开发者报告 API ...
    编程 发布于2024-12-22
  • JavaScript 如何在后台工作:了解其单线程性质和异步操作
    JavaScript 如何在后台工作:了解其单线程性质和异步操作
    JavaScript 是网络的支柱,为数十亿网站和应用程序提供动态客户端功能。但您有没有想过 JavaScript 是如何在后台发挥其魔力的?在这篇文章中,我们将深入研究 JavaScript 单线程本质的内部工作原理并探索异步编程的概念。 单线程是什么意思? 当我们说 JavaSc...
    编程 发布于2024-12-22
  • 如何轻松备份和恢复所有 MySQL 数据库?
    如何轻松备份和恢复所有 MySQL 数据库?
    轻松备份和恢复 MySQL 数据库:综合指南管理大量 MySQL 数据库可能令人望而生畏。为了安全的数据保护,创建定期备份至关重要。本综合指南将提供有关如何轻松同时导出和导入所有 MySQL 数据库的分步说明。导出多个数据库利用 mysqldump 实用程序是导出多个数据库的首选方法立刻。使用命令行...
    编程 发布于2024-12-22
  • 如何防止Python实例之间的类数据共享?
    如何防止Python实例之间的类数据共享?
    如何隔离各个实例的类数据为了避免在多个实例之间共享类数据并确保每个实例维护自己的数据,请按照下列步骤操作:在构造函数中声明变量 (__init__ Method)不要在任何方法之外声明类级变量,而是在 init 构造函数方法中定义它们。例如:class a: def __init__(sel...
    编程 发布于2024-12-22
  • 如何从 Windows 上的 C++ 控制台应用程序打印 UTF-8?
    如何从 Windows 上的 C++ 控制台应用程序打印 UTF-8?
    在 Windows 上从 C 控制台应用程序打印 UTF-8使用 Visual Studio 2008 在英语 Windows 系统上开发 C 控制台应用程序时,用户可能会在显示 UTF- 时遇到挑战8 通过cout或wcout正确编码内容。以下是解决此问题的方法:解决方案:解决方案涉及将控制台的输...
    编程 发布于2024-12-22
  • 在 Go 中使用 WebSocket 进行实时通信
    在 Go 中使用 WebSocket 进行实时通信
    构建需要实时更新的应用程序(例如聊天应用程序、实时通知或协作工具)需要一种比传统 HTTP 更快、更具交互性的通信方法。这就是 WebSockets 发挥作用的地方!今天,我们将探讨如何在 Go 中使用 WebSocket,以便您可以向应用程序添加实时功能。 在这篇文章中,我们将介绍: WebSoc...
    编程 发布于2024-12-22
  • 为什么 Java 的整数常量池在 127 以上表现不同?
    为什么 Java 的整数常量池在 127 以上表现不同?
    问题:127处Java整数常量池行为的分歧简介:The整数常量池是Java中的一种机制,可以优化常见整数值的缓存以提高性能。然而,该池的行为在 127 时出现了变化,引起了开发人员的困惑。理解行为:对于从 -128 到 127 的整数,Java 保证引用相同常量的变量具有相同的引用。Integer ...
    编程 发布于2024-12-22

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3