http://www.verejava.com/?id=16992753789137
public class OverLoad { public static void main(String[] args) { Caculator c=new Caculator(); double result=c.add(10,20); System.out.println(result); //调用参数类型不同的重载方法 int result2=c.add(50,55); System.out.println(result2); //调用重载方法 double[] arr={20,30}; result=c.add(arr); System.out.println(result); //调用另一个重载方法 Operator op=new Operator(30,40); result=c.add(op); System.out.println(result); } } /* 方法的重载: 在同一个类中, 有同名的方法名,不同的参数个数或参数类型,返回值跟重载没有关系 方法重载特性: 当对象引用调用方法的时候, 会自动根据方法的参数个数或类型, 调用相应的重载方法 */ /* 定义一个计算类Caculator 类中定义一个公有的加方 */ class Caculator { //输入两个数相加, 返回相加后的结 public double add(double a,double b) { return a+b; } public int add(int a,int b) { return a+b; } //方法重载 public double add(double[] arr) { return arr[0]+arr[1]; } public double add(Operator op) { return op.getA()+op.getB(); } } class Operator { private double a; private double b; public Operator(double a,double b) { this.a=a; this.b=b; } public double getA() { return this.a; } public double getB() { return this.b; } }