返回值不同算方法重载么?为什么?

1、典型回答

返回值不同不算方法重载

方法重载(Overloading)是指在同一个类中定义了多个同名方法,但它们的参数列表不同,方法重载要求方法:

  1. 名称相同
  2. 参数类型、参数个数或参数顺序,至少有一个不同

方法重载的目的是提供更多的方法选择,方便程序员根据不同的参数类型或个数来调用合适的方法

所以,从上面方法重载的要求可以得出,返回值不同是不作为方法重载的依据的

2、全面剖析

为什么返回值不同不算方法重载的原因有两个:

  1. 从程序的执行层面来讲:返回值不同如果作为方法重载,那么会产生歧义
  2. 从 JVM 方法签名的角度来讲:返回值并不属于方法签名的一部分,因此无法定位到具体的调用方法

什么是方法签名?

方法签名(Method Signature)指的是方法的唯一标识,包括方法的名称、参数列表和参数的顺序。方法签名用于区分不同的方法,以便编译器和虚拟机能够正确地识别和调用特定的方法

2.1、程序执行层面

从程序的执行层面来讲,如果方法的返回值作为方法重载的依据的话,那么程序的执行就会产生歧义,例如以下代码:

此时,我们程序就不知道要去执行哪个方法了

2.2、JVM方法签名层面

方法签名由以下两部分组成:

  1. 方法名称:方法的名称用于标识该方法的功能和用途
  2. 参数列表:参数列表指定了方法接收的参数类型和参数顺序,每个参数都包括参数的类型和参数的名称。

JVM 是通过方法签名来定位到要调用的方法的,而在方法签名中并没有返回值,因此返回值并不能作为方法重载的依据

3、知识扩展

方法重载和方法重写有什么区别?

方法重载和方法重写有什么区别?-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/738944.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IOS面试题object-c 91-100

91. 简述Object-C中nonatomic与atomic有什么区别?atomic是Objective-C使用的一种线程保护技术,它是为了防止写操作在未完成的时候被另外一个线程读取。从而造成数据错误。这种机制是非常耗费系统资源的,所以在iphone这种小的移动设备上,如果没有使用多线程间的通讯编程。建…

分布式之LoadBalancer

一、LoadBalancer介绍 Spring Cloud LoadBalancer是Spring Cloud官方自己提供的客户端负载均衡器,抽象和实现,用来替代Ribbon(已经停更), 二、Ribbon和Loadbalance 对比 组件组件提供的负载策略支持负载的客户端Ribbon随机 Ran…

什么是网站服务器?

今天小编主要来带领大家聊一聊什么是网站服务器吧! 网站服务器又被称为Web服务器,是在互联网数据中心中存放网站的服务器,网站服务器存储了网站上的所有内容,具体来说,服务器是一台存储了Web服务器软件以及网站的组成文…

[MYSQL数据库]--约束

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、空属性…

C++的学习

代码练习 输入一个字符串&#xff0c;统计其中大写字母、小写字母、数字、空格以及其他字符的个数 #include <iostream>using namespace std;int main() {cout << "请输入一个字符串" << endl;string str;getline(cin,str);int capital 0;int l…

HTTP/1.1 协议优化方案探讨

前言 HTTP/1.1 是目前广泛应用的网络协议之一&#xff0c;虽然已经存在多年&#xff0c;但我们仍然可以通过优化来提升其性能和效率。本文将从优化思路的角度出发&#xff0c;探讨如何在 HTTP/1.1 协议下实现优化&#xff0c;包括避免发送重复 HTTP 请求、减少 HTTP 请求次数、…

分享个好用的GPT网站

目录 一、背景 二、功能描述 1、写代码 2、联网查询 3、AI绘图 一、背景 我现在的开发工作都依靠ChatGPT&#xff0c;效率提升了好几倍。这样一来&#xff0c;我有更多时间来摸鱼&#xff0c;真是嘎嘎香~ ⭐⭐⭐点击直达 ⭐⭐⭐ 二、功能描述 1、写代码 import java.ut…

flink:通过table api把文件中读取的数据写入MySQL

当写入数据到外部数据库时&#xff0c;Flink 会使用 DDL 中定义的主键。如果定义了主键&#xff0c;则连接器将以 upsert 模式工作&#xff0c;否则连接器将以 append 模式工作 package cn.edu.tju.demo2;import org.apache.flink.streaming.api.environment.StreamExecutionE…

portainer管理远程docker和docker-swarm集群

使用前请先安装docker和docker-compose&#xff0c;同时完成docker-swarm集群初始化 一、portainer-ce部署 部署portainer-ce实时管理本机docker&#xff0c;使用docker-compose一键拉起 docker-compose.yml version: 3 services:portainer:container_name: portainer#imag…

LeetCode 26. 删除有序数组中的重复项。(通过JavaScript实现)

给你一个 非严格递增排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k &#xff0c;你…

2-Docker-应用-多容器部署Django+Vue项目(nginx+uwsgi+mysql)

摘要&#xff1a; 本文详细介绍了如何使用Docker部署一个多容器DjangoVue项目&#xff0c;包括nginx、uwsgi和mysql。文章内容涵盖了基础知识回顾、需求分析、设计方案、实现步骤、技巧与实践、性能优化与测试、常见问题与解答以及结论与展望。 阅读时长&#xff1a;约60分钟…

要将这个本地HTML文件转换为图片

要将这个本地HTML文件转换为图片&#xff0c;您可以按照以下步骤操作&#xff1a; 1. 打开文件&#xff1a; - 使用您的网页浏览器&#xff08;如Google Chrome、Mozilla Firefox、Microsoft Edge等&#xff09;打开这个本地HTML文件。您可以通过在浏览器地址栏中输入文件的…

制冷系统管道焊接气焊安全操作

气焊操作安全教育&#xff1a; 1、检查气焊用具完好牢固无损&#xff0c;不得贴粘有&#xff08;机油&#xff09;&#xff1b; 2、气瓶余压&#xff08;2KG&#xff09;停止使用&#xff1b;清除动火 10 米范围内易燃易爆物料&#xff1b; 3、库房内动火要 做好通风排气&…

python基础——函数进阶【多个返回值,多种传参方式,匿名函数】

&#x1f4dd;前言&#xff1a; 这篇文章主要记录一下在python中&#xff0c;关于函数的进阶常用知识&#xff0c;建议对编程中的函数有一定了解的读者阅读&#xff0c;如果想了解一下函数的最基础内容&#xff0c;也可先看这篇文章C语言——函数 在本文&#xff0c;我会主要讲…

ETAS入门篇-1、ISOLAR-A软件介绍

目录 ISOLAR-A介绍 体系结构 特性 架构 Explorers和Views 编辑 Editors

ORM(对象关系映射)的概念,并说明在Python中如何使用

ORM&#xff08;对象关系映射&#xff09;的概念&#xff0c;并说明在Python中如何使用 ORM&#xff08;对象关系映射&#xff09;是一种编程技术&#xff0c;它实现了将关系型数据库中的数据映射到程序中的对象模型&#xff0c;使得开发者能够使用面向对象的方式来操作数据…

海格里斯HEGERLS智能托盘四向车系统为物流仓储自动化升级提供新答案

随着实体企业面临需求多样化、订单履行实时化、商业模式加速迭代等挑战&#xff0c;客户对物流仓储解决方案的需求也逐渐趋向于柔性化、智能化。作为近十年来发展起来的新型智能仓储设备&#xff0c;四向车系统正是弥补了先前托盘搬运领域柔性解决方案的空白。随着小车本体设计…

1051:分段函数

【题目描述】 编写程序&#xff0c;计算下列分段函数yf(x)的值。结果保留到小数点后三位。 y−x2.5;0≤x<5 y2−1.5(x−3)(x−3);5≤x<10 yx/2−1.5;10≤x<20 【输入】 一个浮点数N(0≤N<20)。 【输出】 输出 N 对应的分段函数值&#xff1a;f(N)。结果保留到…

仅需 5% 训练样本达到最优性能,清华大学研究团队发布条件去噪扩散模型 SPDiff,实现长程人流移动模拟

人流移动模拟 (Crowd Simulation) 是在特定情境中模拟大量人员移动的过程。这项技术主要应用于计算机游戏、城市规划、建筑设计以及交通组织等领域。例如&#xff0c;模拟人群在不同条件&#xff08;如人群密度、流量等&#xff09;下在建筑物内的移动&#xff0c;帮助决策者评…

sql server 如何创建触发器

要在 SQL Server 中新增触发器&#xff0c;您需要使用 CREATE TRIGGER 语句。以下是具体的步骤和示例&#xff1a; 确定触发器逻辑&#xff1a; 首先&#xff0c;确定触发器应该在表的何时触发&#xff0c;以及触发时应该执行哪些逻辑操作。这包括确定触发器是在数据插入、更新…