确定重载函数被调用的依据
来源:互联网 发布:centos修改locale 编辑:程序博客网 时间:2024/05/22 06:20
这个标题或许还可以叫做,怎么样判断两个函数是否是重载函数。由于今天做了道面试题,题目是:系统在调用重载函数时,能作为确定那个重载函数被调用的依据是() 我选的是A函数返回类型,正确答案是B参数个数。查阅书籍之后发现重载函数的定义是:同一个类中包含了两个或两个以上方法的方法名相同,但形参列表不同,则被称为方法重载.方法重载就要求两同一不同:同一类中方法名相同,但是参数列表不同。我来补充一下自己发现的一些含义。上面两同一不同没有提到返回值类型不同,我用代码测试了一下,当两个函数名相同,参数也相同,但是返回值类型不同就会报错。如下就会报错。
public void fun(){ System.out.println("this is void fun method"); } public int fun(){ System.out.println("this is method return int"); return 1; }
所以同名同参数方法,方法返回值类型不同,就会报错,因为系统会提示该方法已经存在了。
第二点就是,方法名相同,返回值相同,参数名不同也是同样的错误。这个就有点画蛇添足了,但是对于追求严谨或者说对java不太理解的就会有很多无脑的疑问。所以,我才产生了这样的疑问,事实证明我是对的。参数的名称不同但是类型相同也是会报错的,如下:
public void fun(int a){ } public void fun(int b){ }
如果有需要补充的,欢迎大家积极评论。
0 0
- 确定重载函数被调用的依据
- new了后才调用构造函数,依据类的功能来确定extends的对象
- C++中函数重载的判断依据
- 重载函数的重载确定过程
- 方法重载的 依据??
- 重载函数确定的三个步骤
- 宏替换确定函数被调用位置
- MFC中重载的DoDataExchange函数为何不被调用
- C/C++: 函数调用, 栈的大小是如何被确定的
- sqrt对重载函数的调用不明确
- 关于函数模板重载的调用顺序
- QtQuick中调用c++的重载函数
- 函数调用运算符的重载
- 动态链接如何确定是调用的哪一个函数
- 函数调用符重载
- C++重载函数调用
- 重载确定
- template函数和函数的重载的调用判断
- windows service宿主web api使用"依赖注入"和“控制反转”的技术实践
- 【django2】模型 django 1.10 + sqlite3
- Java概述
- HDU 2030 JAVA
- Ubuntu环境下使用Unity3D调用C++编写的Linux so动态链接库
- 确定重载函数被调用的依据
- Xshell远程工具通过ssh访问NAT网络模式下的linux虚拟机
- 【卸载】完全卸载oracle
- HDU 2031 JAVA
- CentOS7安装scrapy
- Unity3D学习笔记1
- (Java学习笔记13)二叉树---删除二叉树节点
- HTTP 错误代码表
- HDU 2032 JAVA