java方法重载实事例_零基础java入门教程函数重载function实例化格式案例

java函数的重载,说白了就是函数块函数名一样,但函数类型和参数类型和参数列表个数不同

重载之和参数列表有关系,与返回值无关

821f9ab4e77a2826d709158dce686782.pngjava函数重载

函数重载铺垫如下图

4ef71998f6b709779074fbb8d386ab0d.png函数重载铺垫

上图功能显示,功能一致所以功能一致所以用的功能函数名一致,都改用add函数

当出现函数块中函数名称一致时,如何区分去执行代码块,则通过函数定义的形参个数来确定,如下图

e93c8c9fd97b87220f0d03de2a152724.png函数重载入门案例启发

由上例题可以清晰的明白如果参数列表个数与定义过的函数形参列表个数不一致时,则会编译失败,系统会提示你没有定义过,如下图代码与编译结果

23c66f8752706947ce611f903b2e95ea.png参数列表个数不一致时编译失败无法重载

从上面三个案例可以明确的知道重载的形象表现,即函数块名称一致,形参列表个数不同,对应匹配执行。如调用的形参列表与定义的函数块形参列表不一致时则编译失败,重载失败

特别注意如下图代码块

8112fa22a9d2a43aed631aaf95ce6eb5.png这种函数名一致列表一致不叫重载

如上图这种函数名一致列表一致不叫重载,叫啥呢?哈哈哈

叫一模一样啦,有木有一种1+1=多少时的那种突然的困惑哈哈哈哈~~~~

一调用函数,都不值调用第一个add函数块好还是第二个add函数块好了,我们没有疯,只不过运行的虚拟机已经疯了(为了造福广大运行系统后期写代码多的时候千万要注意下哟,至少在函数名一致时,形参列表切记不可一致)

从上意会到:

什么时候用重载函数?

当定义的函数功能块相同,但参与运算的位置内容不同时,那么,这是就定义一个相同的函数名称以表示功能,方便阅读,

而通过形参列表的不同来区分不同名函数。

//打印一个所谓的99乘法表,但是有些用户不想算到9 ,只想算到3?5?或6!那怎么办?

//此时则再定义一个函数块实现重载

d9a5440194f514f6aa2262657642810c.png函数重载99乘法表经典案例

以上就是一种典型的重载形式,函数名不用变,只需要变函数形参列表即可

明确了什么是重载后,我们在升华下咱们的程序猿档次,优化重复性代码,提高了代码的复用性。

从上的代码块来分析,除了形参个数不同外,函数名和代码块功能几乎是一模一样的,对于程序猿大师来说,这真的是“无法直视”那么该如何优化呢?如下图程序猿大师初级优化

21196b803d466459dc83b49bb5f12993.png大师的初级优化,你get到什么了

怎么样?两个代码图,你get到什么了吗?

重复性代码不见了,而且提升了代码的重复性,有木有?

给定原函数,列出多个函数对比,问哪个函数重载了?如下图:

0ec83dc597b6c97bc047a0dc7eaef997.png重载案例对比加深印象

从上列咱们可以基本认识到函数重载的具体表现方式,主要区分在函数形参列表的个数,参数1和参数2,是有区分顺序的,按顺来区分,类型不同也算重载,但是注意一下,重载的概念和实现方式和返回值类型无关呢~~~

上面提供了编译代码,有兴趣的朋友可以编译运行试试哈。

每天都会更新知识点和案例分享哦

点击关注或收藏,与我们一起从基础开始学习java每天更新一点新知识,新案例,每天吸收一点新能量。

点击评论区,对于细节的优化,留言,一起探讨哟。

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

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

相关文章

java 类 属性数量_跟我学java编程—Java类的属性与成员变量

在定义类时,经常需要抽象出它的属性,并定义在类的主体中。下面就来介绍与属性相关的内容。常量属性在类中定义的属性有常量属性和成员属性之分。常量属性用final关键字修饰,常量只能赋值一次,在程序中不能修改它的值。一般来说&am…

java获取界面输入数字_通过JAVA设计 GUI 界面的计算器程序,用户可以通过鼠标依次输入参加计算的数值,进行加、减、乘、...

通过JAVA设计 GUI 界面的计算器程序,用户可以通过鼠标依次输入参加计算的数值,进行加、减、乘、2016-08-22 0 0 0 4.0分其他1积分下载如何获取积分?通过JAVA设计 GUI 界面的计算器程序,用户可以通过鼠标依次输入参加计算的数值&am…

mysql对称连接什么意思_对称加密与非对称加密的区别是什么

区别:1、对称加密中加密和解密使用的秘钥是同一个;非对称加密中采用两个密钥,一般使用公钥进行加密,私钥进行解密。2、对称加密解密的速度比较快,非对称加密和解密花费的时间长、速度相对较慢。3、对称加密的安全性相对…

php 支付签名验证失败,choosewxpay fail解决,微信支付签名验证错误解决

require_once("config.php"); //这个文件原来写过的博客有http://jipq1016.com/display.php?id9//统一下单$openid$_POST[openid];$arr[appid]$appid; //商户appid$arr[mch_id]$mch_id; //微信支付…

趣学java,编程趣学习app

编程趣学习在这里会有多种编程语言是可以去学习的Java或者是c,入门级的海鸥就是更加有难度的都是可以选择一个自己可以去学习的课程,跟着讲师一同开始及逆行语言基础知识的学习后面大家就是根据自己的的课后作业完成,去自己调试新的程序。编程…

aix升级新安装oracle,安装Oracle 11gR2 AIX 5.3 升级到TL11的一些小记录

Dep-app 需要locdevices.usbif.08025002.rtersct.compat.basic.sp打5300-11-00-0943时需要devices.usbif.08025002.rte 5.3.11.0 重启可以 或 删除 devices.usbif.08025002.rte 5.3.7.7打5300-11-04-1015时需要bos.sysmgt.sysbr 5.3.11.0 5.3.11.3bos.sysmgt.sysbr 需要bos…

jmeter无法释放oracle连接,jmeter 连接ORACLE数据库错误及解决方法

问题一:Response message: java.sql.SQLException:Cannot load JDBC driver class ‘oracle.jdbc.driver.OracleDriver‘未引入ojdbc14.jar包所致,2种解决方案,最好重启一下:1.在测试计划页面中,点击浏览,选…

oracle11g ora 12518,servlet执行update报错ORA-12518

ORA-12518: TNS:listener could not hand off client connection这种错误一般是在测试数据库并发性的,多个用户的,后台用servleORA-12518: TNS:listener could not hand off client connection这种错误一般是在测试数据库并发性的,多个用户的…

linux怎么添加头文件目录下,linux下编写c++,include的那些头文件在什么地方?

炎炎设计C/C程序在linux下被编译和连接时,GCC/G会查找系统默认的include和link的路径,以及自己在编译命令中指定的路径。自己指定的路径就不说了,这里说明一下系统自动搜索的路径。【1】include头文件路径除了默认的/usr/include, /usr/local…

linux内核调度 0号进程,Linux内核源代码情景分析---第四章 进程与进程调度

4.1 进程四要素什么是进程?1:有一段代码段供其执行,这代码段不一定是进程所专用,可以与其他进程公用。2:每个进程有其专用的系统空间的堆栈(栈)【这个栈是进程起码的“私有财产”】3:在内核中,要…

redhat linux 系统管理,红帽系统管理一 (RH124)

红帽系统管理一 (RH124)时间:2018-04-24 14:06:52第 1 部分 — 红帽企业 Linux 管理员所需掌握的核心系统管理任务本课程涉及使用红帽 企业 Linux 7。红帽系统管理一 (RH124) 专为之前没有 Linux 系统管理经验的 IT 专业人员设计。本课程侧重讲解 Linux 系统的核心管…

linux命令行聊天,Linux 下使用talk 进行聊天

Linux中talk命令参数程序用于Internet上两个用户之间进行“交谈”:通过键盘输入“说话”,通过看终端屏幕“聆听”。Linux中talk命令参数程序的使用很简单,只要知道交谈对象的地址,就可以邀请对方交谈。格式:talk usert…

在linux中which命令,Linux 中 which 命令怎么用?

在Linux中which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果,其用法为“which [文件...]”,其参数有“-n”、“-p”、“-w”和“-V”。Linux which命令用于查找文件。which指令会在环境变量…

c语言怎样用格式化文件存储,如何用格式化的方式读写文件

对格式会来说,C语言的格式读写文件是很有要求的,在前面我们已经讲解了如何去进行字符的输入输出,但事实真相,数据的类型是很丰富的,而且大家已经熟悉了用printf和scanf函数进行格式化的输入输出,他们是向终…

linux下qq怎么截图,ubuntu 12.04使用QQ截图安装教程

相信用过linux系统的朋友都知道,linux下的截图软件是在不咋的。虽然系统本身有带截图工具,但是却苦于没有办法在截下来的图片上作画圈、写文字说明等动作。应该有不少朋友也是从windows系统下转到linux下做开发的,不知道大家对QQ截图这个软件…

android 资源如何下沉,关于Android业务模块下沉的一些实践及总结

此文已由作者徐铭阳授权网易云社区发布。欢迎访问前言最近在做需求过程中,一些类似学校选择、城市选择等业务相关模块想单独抽离出来,遇到一些诸如模块管理、通信方面的问题来背景最近有一个需求是学校列表,没错,就是我们平时总见…

android sqlite存储数据,Android之SQLite数据存储

关于SQLite的出生长大和壮大,这里就略去了,只记几点比较重要的用法:SQLite所支持的数据类型:SQLite,SQLite3支持 NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的…

android studio 跨进程,Android IPC机制(三)在Android Studio中使用AIDL实现跨进程方法调用...

本文首发于微信公众号「后厂技术官」在上一篇文章Android IPC机制(二)用Messenger进行进程间通信中我们介绍了使用Messenger来进行进程间通信的方法,但是我们能发现Messenger是以串行的方式来处理客户端发来的信息,如果有大量的消息发到服务端&#xff0…

nubia ui 5.0 android,流畅度爆棚 搭Android 5.0系统新机一览

近期各品牌新机都不少,而且90%以上都是Android系统的手机,可见安卓手机的主导地位仍在上升。而在系统层次,Android 5.0已经逐步开始普及,近期上市新机百分百均采用了这一系统,值得一提的是定制不再“深度”&#xff0c…

html 百分比正方形,css实现未知宽度的正方形需求

今天群里有哥们问了一下,百分比宽度的正方形如何用css实现。其实就是不定宽的正方形如何用css实现。第一个方法利用图片的等比例缩放,用base64写一个1*1的透明png图片,宽度100%,这样容器就自动被撑成一个正方形,demo如…