📄 methodoverloadingdemo.java
字号:
//【例4-12】 方法重载的使用。
//程序清单4-12: //MethodOverloadingDemo.java
package e4_12;
public class MethodOverloadingDemo {
public static void main(String args[]) {
int a = 10, b = 20, z = 30;
ArithmeticOperation ao = new ArithmeticOperation();
// ao.add(a, b)与add(int x, int y)精确匹配,而不调用add(double x, double y)
System.out.println("ao.add(a, b)=" + ao.add(a, b));
// ao.add((double) a, (double) b)与add(double x, double y)精确匹配
System.out.println("ao.add((double) a, (double) b)="
+ ao.add((double) a, (double) b));
// ao.add(a, (double) b)与add(int x, double y)精确匹配
System.out.println("ao.add(a, (double) b)=" + ao.add(a, (double) b));
// ao.add((double) a, b)与add(double y, int x)精确匹配
System.out.println("ao.add((double) a, b)=" + ao.add((double) a, b));
// ao.add(a, b, z)没有与之精确匹配的方法,则将int类型的变量a,b,z自动转
// 换为doulbe类型,然后与add(double x, double y, double z)精确匹配
System.out.println("ao.add(a, b, z)=" + ao.add(a, b, z));
}
}
class ArithmeticOperation {
public int add(int x, int y) {
System.out.println("调用:public int add(int x, int y)");
return x + y;
}
/*
* 返回值类型不足以区分重载方法 public double add(int x, int y) { return (double) (x + y); }
*/
public double add(double x, double y) {// 参数类型不同重载
System.out.println("调用:public double add(double x, double y)");
return x + y;
}
public double add(int x, double y) {// 参数类型不同重载
System.out.println("调用:public double add(int x, double y)");
return (double) (x + y);
}
public double add(double y, int x) {// 参数顺序不同重载
System.out.println("调用:public double add(double y, int x)");
return (double) (x + y);
}
public double add(double x, double y, double z) {// 参数个数不同重载
System.out
.println("调用:public double add(double x, double y, double z) ");
return x + y + z;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -