Contents
8.5. 方法重载(overload)¶
eg MethodOverloading.java
package com.a51work6;
public class MethodOverloading {
void receive(int i) {
System.out.println("接收一个int参数");
System.out.println("i = " + i);
}
void receive(int x, int y) {
System.out.println("接收两个int参数");
System.out.printf("x = %d, y =%d \r",x,y);
}
int receive(double x, double y ) {
System.out.println("接收两个double参数");
System.out.printf("x = %f, y =%f \r",x,y);
return 0;
}
}
Helloworld.java
package com.a51work6;
public class Helloworld {
public static void main(String[] args) {
MethodOverloading mo = new MethodOverloading();
// 调用void receive(int i)
mo.receive(1);
// 调用void receive(int x , int y)
mo.receive(3, 4);
// 调用void receive(double x, double y)
mo.receive(3.2, 4.1);
}
}
/*
接收一个int参数
i = 1
接收两个int参数
x = 3, y =4
接收两个double参数
x = 3.200000, y =4.100000
*/
调用哪一个receive是根据参数列表决定的,如果参数类型不一致,编译器会进行自动类型转换寻找适合版本的方法。