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

接口

发布于2024-11-08
浏览:973

Interfaces

  • 在面向对象编程中,定义类应该做什么是有用的,但定义类应该做什么是有用的。

  • 抽象方法定义了方法的签名而不提供实现,子类必须实现该方法。

  • Java 中的接口允许您将应该做什么的定义与如何做的实现完全分开。

  • 接口可以指定没有主体的方法,该方法必须由类实现。

  • 实现一个接口的类的数量没有限制,一个类可以实现多个接口。

  • 要实现接口,类必须提供所描述方法的实现。

  • 不同的类可以用不同的方式实现同​​一个接口,但共享同一组方法。

  • 接口的使用允许多态性,因为来自不同类的对象可以互换处理。

  • JDK 8 引入了接口定义方法默认实现的功能,允许接口指定行为。

  • 尽管有标准实现,但接口的初衷仅定义基本未改变的内容。

  • 最初的重点将放在传统接口上,并在本章末尾讨论标准方法。

访问接口名称{
ret-type 方法名称1(param-list);
ret-type 方法名称2(param-list);
类型 var1 = 值;
类型 var2 = 值;
// ...
ret-type 方法名称N(param-list);
类型 varN = 值;
}

  • 对接口的访问可以是公共的或标准的访问(包私有)。

  • 如果未包含访问修饰符,则该接口只能由其包的成员访问。

  • 当声明为公共时,该接口可以被任何代码使用,并且必须位于同名文件中。

  • 接口名称可以是任何有效的标识符。

  • 在接口的传统形式中,仅使用其返回类型和签名来声明方法,本质上是抽象方法。

  • 实现此接口的类必须提供其所有方法的实现,这些方法是隐式公共的。

  • 接口中的变量不是实例变量;它们是隐式公共的、最终的和静态的,并且必须初始化(它们是常量)。

  • 接口定义示例:

公共接口系列{
int getNext(); // 返回系列中的下一个数字
无效重置(); // 重新启动
无效 setStart(int x); // 定义初始值
}

版本声明 本文转载于:https://dev.to/devsjavagirls/interfaces-4n4o?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 如何生成固定总和的随机数,保证均匀分布?
    如何生成固定总和的随机数,保证均匀分布?
    使用固定的sum [构成的挑战是生成一系列的pseudo-random数字,其总和等于一个预定值。具体而言,如何生成四个数字,当加在一起时,等于40。,而不是依靠可以偏向第一个数字的分布的方法,而是采用了更统一的方法。该解决方案利用一种策略将预定义值分为较小的段,使用随机选择的分隔符。假设我们有...
    编程 发布于2025-04-19
  • 在SQL Server中如何查询XML列的值?
    在SQL Server中如何查询XML列的值?
    [2 [2 SQL Server允许将XML数据存储在定义为XML数据类型的列中。 从这些列中检索特定数据需要专门查询。 假设您有一个带有此结构的XML列,名为“角色”: [2 找到包含特定角色的行,使用此查询: 选择 角色 从 Mytable 在哪里 roles.value(...
    编程 发布于2025-04-19
  • 如何使用不同数量列的联合数据库表?
    如何使用不同数量列的联合数据库表?
    合并列数不同的表 当尝试合并列数不同的数据库表时,可能会遇到挑战。一种直接的方法是在列数较少的表中,为缺失的列追加空值。 例如,考虑两个表,表 A 和表 B,其中表 A 的列数多于表 B。为了合并这些表,同时处理表 B 中缺失的列,请按照以下步骤操作: 确定表 B 中缺失的列,并将它们添加到表的末...
    编程 发布于2025-04-19
  • 在细胞编辑后,如何维护自定义的JTable细胞渲染?
    在细胞编辑后,如何维护自定义的JTable细胞渲染?
    在JTable中维护jtable单元格渲染后,在JTable中,在JTable中实现自定义单元格渲染和编辑功能可以增强用户体验。但是,至关重要的是要确保即使在编辑操作后也保留所需的格式。在设置用于格式化“价格”列的“价格”列,用户遇到的数字格式丢失的“价格”列的“价格”之后,问题在设置自定义单元格...
    编程 发布于2025-04-19
  • 浮动猫与立方体游戏攻略
    浮动猫与立方体游戏攻略
    我迫不及待地想拥有一些“免费”时间,这样我就可以为项目添加样式。关于一点点互动的一些东西为页面增添了生命。 您想要一只漂浮的猫吗?没问题。我使用AI制作了猫的图像,并“手工”提取了幻象中的背景,以获得我的.png图像的剪切效果。 BAM。猫。 让他移动一点,所以看起来他在漂浮。我最喜欢的CSS动...
    编程 发布于2025-04-19
  • 为什么在我的Linux服务器上安装Archive_Zip后,我找不到“ class \” class \'ziparchive \'错误?
    为什么在我的Linux服务器上安装Archive_Zip后,我找不到“ class \” class \'ziparchive \'错误?
    class'ziparchive'在Linux Server上安装Archive_zip时找不到错误 commant in lin ins in cland ins in lin.11 on a lin.1 in a lin.11错误:致命错误:在... cass中找不到类z...
    编程 发布于2025-04-19
  • input: Why Does "Warning: mysqli_query() expects parameter 1 to be mysqli, resource given" Error Occur and How to Fix It?

output: 解决“Warning: mysqli_query() 参数应为 mysqli 而非 resource”错误的解析与修复方法
    input: Why Does "Warning: mysqli_query() expects parameter 1 to be mysqli, resource given" Error Occur and How to Fix It? output: 解决“Warning: mysqli_query() 参数应为 mysqli 而非 resource”错误的解析与修复方法
    mysqli_query()期望参数1是mysqli,resource给定的,尝试使用mysql Query进行执行MySQLI_QUERY_QUERY formation,be be yessqli:sqli:sqli:sqli:sqli:sqli:sqli: mysqli,给定的资源“可能发...
    编程 发布于2025-04-19
  • JavaScript中如何创建和访问二维数组
    JavaScript中如何创建和访问二维数组
    在javascript 声明一个2D数组: 在javascript中声明一个2D数组,定义一个名为myArray的阵列并分配给它的数组,e.g.:g.:g.:g. f.:f.:f.:imantray, 6]];Accessing Members:To access members of this...
    编程 发布于2025-04-19
  • 如何使用替换指令在GO MOD中解析模块路径差异?
    如何使用替换指令在GO MOD中解析模块路径差异?
    在使用GO MOD时,在GO MOD 中克服模块路径差异时,可能会遇到冲突,其中3个Party Package将另一个PAXPANCE带有导入式套件之间的另一个软件包,并在导入式套件之间导入另一个软件包。如回声消息所证明的那样: go.etcd.io/bbolt [&&&&&&&&&&&&&&&&...
    编程 发布于2025-04-19
  • 如何干净地删除匿名JavaScript事件处理程序?
    如何干净地删除匿名JavaScript事件处理程序?
    删除匿名事件侦听器将匿名事件侦听器添加到元素中会提供灵活性和简单性,但是当要删除它们时,可以构成挑战,而无需替换元素本身就可以替换一个问题。 element? element.addeventlistener(event,function(){/在这里工作/},false); 要解决此问题,请考虑...
    编程 发布于2025-04-19
  • 为什么不使用CSS`content'属性显示图像?
    为什么不使用CSS`content'属性显示图像?
    在Firefox extemers属性为某些图像很大,&& && && &&华倍华倍[华氏华倍华氏度]很少见,却是某些浏览属性很少,尤其是特定于Firefox的某些浏览器未能在使用内容属性引用时未能显示图像的情况。这可以在提供的CSS类中看到:。googlepic { 内容:url(&#...
    编程 发布于2025-04-19
  • 如何在php中使用卷发发送原始帖子请求?
    如何在php中使用卷发发送原始帖子请求?
    如何使用php 创建请求来发送原始帖子请求,开始使用curl_init()开始初始化curl session。然后,配置以下选项: curlopt_url:请求 [要发送的原始数据指定内容类型,为原始的帖子请求指定身体的内容类型很重要。在这种情况下,它是文本/平原。要执行此操作,请使用包含以下标头...
    编程 发布于2025-04-19
  • 如何有效地转换PHP中的时区?
    如何有效地转换PHP中的时区?
    在PHP 利用dateTime对象和functions DateTime对象及其相应的功能别名为时区转换提供方便的方法。例如: //定义用户的时区 date_default_timezone_set('欧洲/伦敦'); //创建DateTime对象 $ dateTime = ne...
    编程 发布于2025-04-19
  • 解决MySQL错误1153:数据包超出'max_allowed_packet'限制
    解决MySQL错误1153:数据包超出'max_allowed_packet'限制
    mysql错误1153:故障排除比“ max_allowed_pa​​cket” bytes 更大的数据包,用于面对阴谋mysql错误1153,同时导入数据capase doft a Database dust?让我们深入研究罪魁祸首并探索解决方案以纠正此问题。理解错误此错误表明在导入过程中接...
    编程 发布于2025-04-19

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

Copyright© 2022 湘ICP备2022001581号-3