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

方法重载

发布于2024-11-08
浏览:244
  • 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]删除
最新教程 更多>
  • 哪种在JavaScript中声明多个变量的方法更可维护?
    哪种在JavaScript中声明多个变量的方法更可维护?
    在JavaScript中声明多个变量:探索两个方法在JavaScript中,开发人员经常遇到需要声明多个变量的需要。对此的两种常见方法是:在单独的行上声明每个变量: 当涉及性能时,这两种方法本质上都是等效的。但是,可维护性可能会有所不同。 第一个方法被认为更易于维护。每个声明都是其自己的语句,使其...
    编程 发布于2025-04-09
  • 为什么我会收到MySQL错误#1089:错误的前缀密钥?
    为什么我会收到MySQL错误#1089:错误的前缀密钥?
    mySQL错误#1089:错误的前缀键错误descript [#1089-不正确的前缀键在尝试在表中创建一个prefix键时会出现。前缀键旨在索引字符串列的特定前缀长度长度,可以更快地搜索这些前缀。了解prefix keys `这将在整个Movie_ID列上创建标准主键。主密钥对于唯一识别...
    编程 发布于2025-04-09
  • 为什么我的CSS背景图像出现?
    为什么我的CSS背景图像出现?
    故障排除:CSS背景图像未出现 ,您的背景图像尽管遵循教程说明,但您的背景图像仍未加载。图像和样式表位于相同的目录中,但背景仍然是空白的白色帆布。而不是不弃用的,您已经使用了CSS样式: bockent {背景:封闭图像文件名:背景图:url(nickcage.jpg); 如果您的html,css...
    编程 发布于2025-04-09
  • \“(1)vs.(;;):编译器优化是否消除了性能差异?\”
    \“(1)vs.(;;):编译器优化是否消除了性能差异?\”
    答案: 在大多数现代编译器中,while(1)和(1)和(;;)之间没有性能差异。编译器: perl: 1 输入 - > 2 2 NextState(Main 2 -E:1)V-> 3 9 Leaveloop VK/2-> A 3 toterloop(next-> 8 last-> 9 ...
    编程 发布于2025-04-09
  • 如何使用不同数量列的联合数据库表?
    如何使用不同数量列的联合数据库表?
    合并列数不同的表 当尝试合并列数不同的数据库表时,可能会遇到挑战。一种直接的方法是在列数较少的表中,为缺失的列追加空值。 例如,考虑两个表,表 A 和表 B,其中表 A 的列数多于表 B。为了合并这些表,同时处理表 B 中缺失的列,请按照以下步骤操作: 确定表 B 中缺失的列,并将它们添加到表的末...
    编程 发布于2025-04-09
  • 如何在php中使用卷发发送原始帖子请求?
    如何在php中使用卷发发送原始帖子请求?
    如何使用php 创建请求来发送原始帖子请求,开始使用curl_init()开始初始化curl session。然后,配置以下选项: curlopt_url:请求 [要发送的原始数据指定内容类型,为原始的帖子请求指定身体的内容类型很重要。在这种情况下,它是文本/平原。要执行此操作,请使用包含以下标头...
    编程 发布于2025-04-09
  • 如何将来自三个MySQL表的数据组合到新表中?
    如何将来自三个MySQL表的数据组合到新表中?
    mysql:从三个表和列的新表创建新表 答案:为了实现这一目标,您可以利用一个3-way Join。 选择p。*,d.content作为年龄 来自人为p的人 加入d.person_id = p.id上的d的详细信息 加入T.Id = d.detail_id的分类法 其中t.taxonomy =...
    编程 发布于2025-04-09
  • 如何在无序集合中为元组实现通用哈希功能?
    如何在无序集合中为元组实现通用哈希功能?
    在未订购的集合中的元素要纠正此问题,一种方法是手动为特定元组类型定义哈希函数,例如: template template template 。 struct std :: hash { size_t operator()(std :: tuple const&tuple)const {...
    编程 发布于2025-04-09
  • 如何将PANDAS DataFrame列转换为DateTime格式并按日期过滤?
    如何将PANDAS DataFrame列转换为DateTime格式并按日期过滤?
    将pandas dataframe列转换为dateTime格式示例:使用column(mycol)包含以下格式的以下dataframe,以自定义格式:})指定的格式参数匹配给定的字符串格式。转换后,MyCol列现在将包含DateTime对象。 date oped filtering > = p...
    编程 发布于2025-04-09
  • 如何在Java的全屏独家模式下处理用户输入?
    如何在Java的全屏独家模式下处理用户输入?
    Handling User Input in Full Screen Exclusive Mode in JavaIntroductionWhen running a Java application in full screen exclusive mode, the usual event ha...
    编程 发布于2025-04-09
  • 版本5.6.5之前,使用current_timestamp与时间戳列的current_timestamp与时间戳列有什么限制?
    版本5.6.5之前,使用current_timestamp与时间戳列的current_timestamp与时间戳列有什么限制?
    在时间戳列上使用current_timestamp或MySQL版本中的current_timestamp或在5.6.5 此限制源于遗留实现的关注,这些限制需要对当前的_timestamp功能进行特定的实现。 创建表`foo`( `Productid` int(10)unsigned not n...
    编程 发布于2025-04-09
  • Python读取CSV文件UnicodeDecodeError终极解决方法
    Python读取CSV文件UnicodeDecodeError终极解决方法
    在试图使用已内置的CSV模块读取Python中时,CSV文件中的Unicode Decode Decode Decode Decode decode Error读取,您可能会遇到错误的错误:无法解码字节 在位置2-3中:截断\ uxxxxxxxx逃脱当CSV文件包含特殊字符或Unicode的路径逃...
    编程 发布于2025-04-09
  • 如何在鼠标单击时编程选择DIV中的所有文本?
    如何在鼠标单击时编程选择DIV中的所有文本?
    在鼠标上选择div文本单击带有文本内容,用户如何使用单个鼠标单击单击div中的整个文本?这允许用户轻松拖放所选的文本或直接复制它。 在单个鼠标上单击上的div元素中的文本,您可以使用以下Javascript函数:实现以实现此函数: 在您的javascript代码中添加了上述功能。参数。 使用此代...
    编程 发布于2025-04-09
  • 您如何在Laravel Blade模板中定义变量?
    您如何在Laravel Blade模板中定义变量?
    在Laravel Blade模板中使用Elegance 在blade模板中如何分配变量对于存储以后使用的数据至关重要。在使用“ {{}}”分配变量的同时,它可能并不总是最优雅的解决方案。幸运的是,Blade通过@php Directive提供了更优雅的方法: $ old_section =“...
    编程 发布于2025-04-09

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

Copyright© 2022 湘ICP备2022001581号-3