Java 面向对象 之 方法的重载

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;
	}
}

http://www.verejava.com/?id=16992753789137

posted @ 2018-06-17 09:42  verejava  阅读(363)  评论(0编辑  收藏  举报