Java中函数重载的概念及其示例
发布时间:2023-10-29 09:55:48
函数重载是指在一个类中,可以定义多个同名但参数个数、类型或顺序不同的函数,以实现不同的功能。在Java中,函数重载是一种面向对象的编程特性,能够使代码更加简洁和可读性更好。
Java中函数重载的规则如下:
1. 函数名称必须相同。
2. 参数列表必须不同,即参数个数、类型或顺序至少有一个不同。
3. 返回类型可以相同也可以不同。
下面是几个Java中函数重载的示例:
1. 求和函数
public class MathUtils {
public int sum(int a, int b) {
return a + b;
}
public int sum(int a, int b, int c) {
return a + b + c;
}
public double sum(double a, double b) {
return a + b;
}
}
使用示例:
MathUtils util = new MathUtils(); int result1 = util.sum(2, 3); // 调用sum(int a, int b)函数,返回结果为5 int result2 = util.sum(2, 3, 4); // 调用sum(int a, int b, int c)函数,返回结果为9 double result3 = util.sum(2.5, 3.5); // 调用sum(double a, double b)函数,返回结果为6.0
2. 重载构造函数
public class Person {
private String name;
private int age;
public Person() {
this.name = "Unknown";
this.age = 0;
}
public Person(String name) {
this.name = name;
this.age = 0;
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
使用示例:
Person person1 = new Person(); // 调用Person()构造函数
Person person2 = new Person("John"); // 调用Person(String name)构造函数
Person person3 = new Person("Tom", 20); // 调用Person(String name, int age)构造函数
3. 字符串连接函数
public class StringUtils {
public String concat(String str1, String str2) {
return str1 + str2;
}
public String concat(String str1, String str2, String str3) {
return str1 + str2 + str3;
}
}
使用示例:
StringUtils strUtils = new StringUtils();
String result1 = strUtils.concat("Hello", "World"); // 调用concat(String str1, String str2)函数,返回结果为"HelloWorld"
String result2 = strUtils.concat("Hello", "Java", "!"); // 调用concat(String str1, String str2, String str3)函数,返回结果为"HelloJava!"
通过函数重载,可以根据不同的参数选择不同功能的函数来执行,而不必为不同的功能定义不同的函数名称,从而提高代码的可读性、可维护性和复用性。使用函数重载能够使代码更加简洁、灵活和易于扩展。
