方法重载的要求就是两同一不同:同一类中方法名相同,参数列表不同。
至于方法的其他部分,如方法返回值类型、修饰符等,与方法重载没有任何关系。
package Liu;
/**
*
* @author 14191
* 在这个例子中,OverloadDemo类中一共定义了4个text方法,实现了方法重载
*当Java调用一个重载方法的时候,实参和形参相匹配的方法才会被执行
*在遇到方法重载时,Java是根据参数列表和返回值类型去选择调用哪一个方法的
*/
class OverloadDemo {
public void text() {
System.out.println("No parameters!");
}
public void text(int a) {
System.out.println("a: "+a);
}
public void text(int a,int b) {
System.out.println("a+b: "+(a+b));
}
public double text(double x) {
System.out.println("x: "+ x);
return x*x;
}
}
public class Overload {
public static void main(String[] args) {
// TODO Auto-generated method stub
OverloadDemo obb = new OverloadDemo();
double result;
obb.text();
obb.text(100);
result = obb.text(1.2);
obb.text(12, 13);
System.out.println(result);
}
}
给定Java代码如下所示,在横线处新增下列(AC)方法,是对cal方法的重载。(选二项)
public class Test{
public void cal(int x, int y, int z) {}
}
A. public int cal(int x, int y, float z){ return 0; }
B. public int cal(int x, int y, int z){ return 0; }
C. public void cal(int x, int z){ }
D. public void cal(int z, int y, int x){ }