欢迎访问宙启技术站
智能推送

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!"

通过函数重载,可以根据不同的参数选择不同功能的函数来执行,而不必为不同的功能定义不同的函数名称,从而提高代码的可读性、可维护性和复用性。使用函数重载能够使代码更加简洁、灵活和易于扩展。