Java中的方法重载(overload)

方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数.具体有以下几种。先定义一个求和的方法`

	public static int add(int a, int b) {
		int sum = a + b;
		return sum;
	}
  • 方法名相同,参数类型不同,构成重载
	public static double add(double a, double b) {
		double sum = a + b;
		return sum;
	}
  • 方法名相同,参数顺序不同,构成重载
public static double add(int a, double b) {
		double sum = a + b;
		return sum;
	}
  • 方法名相同,参数个数不同,构成重载
public static int add(int a, int b, int c) {
		int sum = a + b + c;
		return sum;

接下来在看错误

  • 只有返回值不同,不构成方法的重载
public static double add(int b,int a) {
	   double sum=a+b; 
	   return sum;
	   }
  • 只有参数名称不同,不构成方法的重载
	public static int add(int b,int a) { 
		double sum=a+b;
	    return sum;
}

最后再来看一下整体效果

package com.qhit.san;

/**
 * 方法重载
 * 
 * @author 梁雪
 *
 */
public class SOverload {
	public static void main(String[] args) {
		System.out.println("我调用的是第一个求和的方法,结果是 "+add(12, 13));
		System.out.println("我调用的是参数个数不同,构成重载的方法,结果是 "+add(31, 1, 33));
		System.out.println("我调用的是参数类型不同,构成重载的方法,结果是 "+add(1.2, 1.3));
		System.out.println("我调用的是参数顺序不同,构成重载的方法,结果是 "+add(12, 1.3));

	}

	// 求和的方法
	public static int add(int a, int b) {
		int sum = a + b;
		return sum;
	}

	// 方法名相同,参数个数不同,构成重载
	public static int add(int a, int b, int c) {
		int sum = a + b + c;
		return sum;
	}

	// 方法名相同,参数类型不同,构成重载
	public static double add(double a, double b) {
		double sum = a + b;
		return sum;
	}

	// 方法名相同,参数顺序不同,构成重载
	public static double add(int a, double b) {
		double sum = a + b;
		return sum;
	}

运行结果如下:`在这里插入代码片

我调用的是第一个求和的方法25
我调用的是参数个数不同,构成重载的方法65
我调用的是参数类型不同,构成重载的方法2.5
我调用的是参数顺序不同,构成重载的方法13.3

希望可以帮到大家!

你可能感兴趣的:(java)