本帖最后由 周学彬 于 2013-10-19 13:13 编辑
你定义的两个函数并没有被调用,有两个原因1,你没有调用add函数,你只是打印了几个常数的和
2,即使基调用了add函数,编译器会报错,因为参数形式不匹配。函数调用时,形参要严格按照函数定义的形式传递。你的add函数里面有两个或三个整数,所以,你在调用时使用4+5+6只会得出一个15,这只算一个整数,找不到匹配的重载函数
由于是静态代码段,在别的类里使用时需要使用类名调用,这段代码可以不用。
正确的代码如下:- class FunctionOverload15
- {
- public static void main(String[] args)
- {
- int x, y, z;
- x = 4;
- y = 5;
- z = 6;
-
- System.out.println(add(x, y));
- printHr();
- System.out.println(add(x, y, z));//因为已经存在需求1,就可以直接调用需求1,来对需求2进行优化。
- printHr();
- }
- public static void printHr()
- {
- System.out.println("---------------");
- }
- }
复制代码 需求2的代码注释的也不对:应该把add里面的+改成,。- //需求2、定义一个加法运算,获取三个整数的和。
- public static int add(int x,int y,int z)
- {
- return (x+y)+z;//return add(x, y)+z;
- }
复制代码 |