Java的方法重载

方法重载的要求就是两同一不同:同一类中方法名相同,参数列表不同。
至于方法的其他部分,如方法返回值类型、修饰符等,与方法重载没有任何关系。

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){ }

### Java方法重载的概念 方法重载(Method Overloading)是 Java 中的一种重要特性,它允许创建多个同名但参数列表不同的方法。这意味着可以在同一个类中定义多个具有相同名称的方法,只要它们的参数列表不同即可。这不仅提高了代码的灵活性和可读性,还使得程序更加简洁[^3]。 ### 实现方式 为了实现方法重载,在定义新方法时需确保其签名与其他已有的同名方法有所不同。所谓方法签名指的是由方法名及其形参构成的部分,不包括返回值类型。因此,即使两个方法拥有相同的名称,只要它们接受不同类型或数量的参数,则可以被视作不同的方法。 具体来说,可以通过改变以下任一条件来达到这一目的: - 参数的数量; - 参数的数据类型; - 参数类型的顺序; 值得注意的是,仅靠修改返回值类型的不同并不能形成有效的重载版本。 ### 示例代码展示 下面是一个具体的例子,展示了如何在一个名为 `MathOperations` 的类里通过方法重载来处理多种情况下的数值相乘操作: ```java public class MathOperations { // 计算两个整数的乘积 public int multiply(int a, int b){ return a * b; } // 计算三个整数的乘积 public int multiply(int a, int b, int c){ return a * b * c; } // 计算两个浮点数的乘积 public double multiply(double a, double b){ return a * b; } // 计算一个整数数组所有元素的乘积 public long multiply(int[] numbers){ long result = 1L; for (int num : numbers) { result *= num; } return result; } } ``` 上述代码片段实现了四种形式的 `multiply()` 函数,分别用于两整数、三整数、双精度实数以及整型数组之间的运算。每种情况下所使用的参数各具特色,从而构成了各自独立而又相互关联的一组函数家族成员[^4]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值