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

方法重载

发布于2024-11-08
浏览:560
  • Java 允许方法重载,即同一类的两个或多个方法可以共享相同的名称。

  • 当方法参数声明不同时,就会发生方法重载。

  • 方法重载是Java中实现多态性的一种方式。

  • 要重载一个方法,需要声明它的不同版本。

  • 编译器根据参数自动选择正确的方法。

  • 一个重要的限制:重载方法的参数类型和/或数量必须不同,而不仅仅是返回类型不同。

  • 重载方法的返回类型也可能不同,但参数对于选择正确的方法至关重要。

  • 调用重载方法时,执行参数与参数匹配的版本。

Sobrecarga de métodos

Sobrecarga de métodos

  • ovlDemo() 方法使用不同的签名重载四次:

  • 第一版本:无参数。

  • 第二个版本:带有整数参数。

  • 第三个版本:有两个整数参数。

  • 第四个版本:有两个双参数。

  • ovlDemo() 的前两个版本返回 void,而后两个版本返回值。

  • 方法重载不受返回类型影响。

  • 尝试使用仅通过返回类型区分签名的 ovlDemo() 的两个版本将导致错误。

Sobrecarga de métodos

  • 返回类型的差异不足以实现Java中的方法重载。

  • 该示例显示,具有相同签名的两个方法,即使返回类型不同,也会导致错误。

  • Java 执行自动类型转换,这些转换也适用于重载方法的参数。

Sobrecarga de métodos

  • 该示例显示了 f() 方法的两个版本:一个具有 int 参数,另一个具有 double 参数。

  • byte和short类型的值自动转换为int,调用f(int)方法。

  • 通过调用f(double)方法将Float值转换为double。

  • 当参数和参数之间没有直接匹配时,会发生自动转换。

  • 添加带有字节参数的 f() 版本可能会改变值的处理方式。

Sobrecarga de métodos

  • 当前版本,当使用 byte 参数调用 f() 时,直接调用 f(byte),不会自动转换为 int。

  • 方法重载允许Java中的多态性,促进“一个接口,多种方法”范式的实现。

  • 在不支持重载的语言中,不同数据类型的相似方法必须有不同的名称(例如C中的abs()、labs()、fabs())。

  • Java允许对不同类型参数的方法使用相同的名称,例如Math类的abs()方法,它针对不同的数值类型进行了重载。

  • 重载通过允许相关方法共享一个通用名称来降低复杂性。

  • 方法的正确版本的选择是由编译器根据参数类型完成的。

  • 虽然重载方法可以执行不同的活动,但它们必须相关才能保持清晰度和连贯性。

  • 避免对不相关的操作使用重载方法名称,因为这可能会混淆代码的意图。

版本声明 本文转载于:https://dev.to/devsjavagirls/sobrecarga-de-metodos-28m3?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 如何修复\“常规错误:2006 MySQL Server在插入数据时已经消失\”?
    如何修复\“常规错误:2006 MySQL Server在插入数据时已经消失\”?
    How to Resolve "General error: 2006 MySQL server has gone away" While Inserting RecordsIntroduction:Inserting data into a MySQL database can...
    编程 发布于2025-07-20
  • 在UTF8 MySQL表中正确将Latin1字符转换为UTF8的方法
    在UTF8 MySQL表中正确将Latin1字符转换为UTF8的方法
    在UTF8表中将latin1字符转换为utf8 ,您遇到了一个问题,其中含义的字符(例如,“jáuòiñe”)在utf8 table tabled tablesset中被extect(例如,“致电。The recommended approach to correct the data is t...
    编程 发布于2025-07-20
  • 为什么HTML无法打印页码及解决方案
    为什么HTML无法打印页码及解决方案
    无法在html页面上打印页码? @page规则在@Media内部和外部都无济于事。 HTML:Customization:@page { margin: 10%; @top-center { font-family: sans-serif; font-weight: bo...
    编程 发布于2025-07-20
  • 如何在Java字符串中有效替换多个子字符串?
    如何在Java字符串中有效替换多个子字符串?
    在java 中有效地替换多个substring,需要在需要替换一个字符串中的多个substring的情况下,很容易求助于重复应用字符串的刺激力量。 However, this can be inefficient for large strings or when working with nu...
    编程 发布于2025-07-20
  • 在GO中构造SQL查询时,如何安全地加入文本和值?
    在GO中构造SQL查询时,如何安全地加入文本和值?
    在go中构造文本sql查询时,在go sql queries 中,在使用conting and contement和contement consem per时,尤其是在使用integer per当per当per时,per per per当per. 在GO中实现这一目标的惯用方法是使用fmt.spr...
    编程 发布于2025-07-20
  • 如何使用Regex在PHP中有效地提取括号内的文本
    如何使用Regex在PHP中有效地提取括号内的文本
    php:在括号内提取文本在处理括号内的文本时,找到最有效的解决方案是必不可少的。一种方法是利用PHP的字符串操作函数,如下所示: 作为替代 $ text ='忽略除此之外的一切(text)'; preg_match('#((。 &&& [Regex使用模式来搜索特...
    编程 发布于2025-07-20
  • 编译器报错“usr/bin/ld: cannot find -l”解决方法
    编译器报错“usr/bin/ld: cannot find -l”解决方法
    错误:“ usr/bin/ld:找不到-l “ 此错误表明链接器在链接您的可执行文件时无法找到指定的库。为了解决此问题,我们将深入研究如何指定库路径并将链接引导到正确位置的详细信息。添加库搜索路径的一个可能的原因是,此错误是您的makefile中缺少库搜索路径。要解决它,您可以在链接器命令中添加...
    编程 发布于2025-07-20
  • 如何使用PHP从XML文件中有效地检索属性值?
    如何使用PHP从XML文件中有效地检索属性值?
    从php PHP陷入困境。使用simplexmlelement :: attributes()函数提供了简单的解决方案。此函数可访问对XML元素作为关联数组的属性: - > attributes()为$ attributeName => $ attributeValue){ echo ...
    编程 发布于2025-07-20
  • 如何使用Depimal.parse()中的指数表示法中的数字?
    如何使用Depimal.parse()中的指数表示法中的数字?
    在尝试使用Decimal.parse(“ 1.2345e-02”中的指数符号表示法表示的字符串时,您可能会遇到错误。这是因为默认解析方法无法识别指数符号。 成功解析这样的字符串,您需要明确指定它代表浮点数。您可以使用numbersTyles.Float样式进行此操作,如下所示:[&& && && ...
    编程 发布于2025-07-20
  • 找到最大计数时,如何解决mySQL中的“组函数\”错误的“无效使用”?
    找到最大计数时,如何解决mySQL中的“组函数\”错误的“无效使用”?
    如何在mySQL中使用mySql 检索最大计数,您可能会遇到一个问题,您可能会在尝试使用以下命令:理解错误正确找到由名称列分组的值的最大计数,请使用以下修改后的查询: 计数(*)为c 来自EMP1 按名称组 c desc订购 限制1 查询说明 select语句提取名称列和每个名称...
    编程 发布于2025-07-20
  • 用户本地时间格式及时区偏移显示指南
    用户本地时间格式及时区偏移显示指南
    在用户的语言环境格式中显示日期/时间,并使用时间偏移在向最终用户展示日期和时间时,以其localzone and格式显示它们至关重要。这确保了不同地理位置的清晰度和无缝用户体验。以下是使用JavaScript实现此目的的方法。方法:推荐方法是处理客户端的Javascript中的日期/时间格式化和时...
    编程 发布于2025-07-20
  • 如何在无序集合中为元组实现通用哈希功能?
    如何在无序集合中为元组实现通用哈希功能?
    在未订购的集合中的元素要纠正此问题,一种方法是手动为特定元组类型定义哈希函数,例如: template template template 。 struct std :: hash { size_t operator()(std :: tuple const&tuple)const {...
    编程 发布于2025-07-20
  • 如何高效地在一个事务中插入数据到多个MySQL表?
    如何高效地在一个事务中插入数据到多个MySQL表?
    mySQL插入到多个表中,该数据可能会产生意外的结果。虽然似乎有多个查询可以解决问题,但将从用户表的自动信息ID与配置文件表的手动用户ID相关联提出了挑战。使用Transactions和last_insert_id() 插入用户(用户名,密码)值('test','test...
    编程 发布于2025-07-20
  • PHP阵列键值异常:了解07和08的好奇情况
    PHP阵列键值异常:了解07和08的好奇情况
    PHP数组键值问题,使用07&08 在给定数月的数组中,键值07和08呈现令人困惑的行为时,就会出现一个不寻常的问题。运行print_r($月份)返回意外结果:键“ 07”丢失,而键“ 08”分配给了9月的值。此问题源于PHP对领先零的解释。当一个数字带有0(例如07或08)的前缀时,PHP将...
    编程 发布于2025-07-20
  • 如何使用PHP将斑点(图像)正确插入MySQL?
    如何使用PHP将斑点(图像)正确插入MySQL?
    essue VALUES('$this->image_id','file_get_contents($tmp_image)')";This code builds a string in PHP, but the function call ...
    编程 发布于2025-07-20

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

Copyright© 2022 湘ICP备2022001581号-3