[问题记录]Java关于可变参数重载问题的测试
2016-03-01 17:09
567 查看
突然发现java的可变参数重载是存在歧义的,只是不知道java内部是怎么处理的,特意做如下实验:
测试代码如下:
1.在14行添加aaa();时运行结果为:
可变参数重载
Process finished with exit code 0
2.在14行添加aaa(111,111);时运行结果为:
可变参数重载
Process finished with exit code 0
3.在14行添加aaa(111);时运行结果为:
非可变参数重载
Process finished with exit code 0
4.将代码改为以下:
结果依然为:
非可变参数重载
Process finished with exit code 0
结论:当使用可变参数重载方法时,java内部会优先使用非可变参数方法去执行程序
原文链接:/article/5736523.html
测试代码如下:
/** * Created by ieayoio on 16-3-1. */ public class VarTest { public static void aaa(int ...a){ System.out.println("可变参数重载"); } public static void aaa(int a){ System.out.println("非可变参数重载"); } public static void main(String[] args) { } }
1.在14行添加aaa();时运行结果为:
可变参数重载
Process finished with exit code 0
2.在14行添加aaa(111,111);时运行结果为:
可变参数重载
Process finished with exit code 0
3.在14行添加aaa(111);时运行结果为:
非可变参数重载
Process finished with exit code 0
4.将代码改为以下:
/** * Created by ieayoio on 16-3-1. */ public class VarTest { public static void aaa(int a){ System.out.println("非可变参数重载"); } public static void aaa(int ...a){ System.out.println("可变参数重载"); } public static void main(String[] args) { aaa(111); } }
结果依然为:
非可变参数重载
Process finished with exit code 0
结论:当使用可变参数重载方法时,java内部会优先使用非可变参数方法去执行程序
原文链接:/article/5736523.html
相关文章推荐
- java中继承与接口的区别
- SpringMvc整合shiro报错(一)
- Java多线程(五)——Volatile关键字
- java exception test
- 利用XStream在Java对象和XML之间相互转换
- Java集合类之ArrayList
- java基础50道编程题
- eclipse中jrebel安装+破解+配置
- java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener问题解决
- java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener问题解决
- java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener问题解决
- 找不到org.springframework.web.context.ContextLoaderListener问题解决
- JAVA Web开发过程中的路径问题
- myeclipse6.0安装maven插件
- Myeclipse10 maver web项目,java web 开发,快速入门,环境搭建
- Myeclipse10 maver web项目,java web 开发,快速入门,环境搭建
- java 模式分类
- MyEclipse 常用快捷键
- MyEclipse 常用快捷键
- MyEclipse 常用快捷键