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

Java函数之重载函数:定义、实现及其运用

发布时间:2023-06-26 10:44:34

定义:

重载函数指在同一个类中定义了两个或两个以上的同名函数,但它们的参数数量或参数类型不同,从而实现了同名函数的多态性。在Java中,重载函数可以大大提高程序的可读性和简化代码的编写。

实现:

实现重载函数需要满足两个条件:重载函数必须在同一个类中,且函数名相同。则需要通过参数个数、参数类型以及参数顺序等方式进行区分。

例如,有两个函数:

public void printInfo(int a, int b){
    System.out.println("a+b="+a+b);
}

public void printInfo(int a, int b, String c){
    System.out.println("a+b="+a+b+",c="+c);
}

这两个函数的函数名相同,但是参数个数以及参数类型不同,因此这两个函数可以重载。

运用:

重载函数可以方便地调用不同类型的参数,从而避免代码中出现多个类似函数,减少代码的冗余性以及提高代码的可读性。重载函数在多次使用同名函数名时,可以更好地分辨出来不同的类型和用途。

public class Test {
    public static void main(String[] args) {
        print(1); // 调用 print(int a)
        print(1.0f); // 调用 print(float f)
        print(true); //调用 print(boolean b)
    }
 
    public static void print(int a) {
        System.out.println("print int:" + a);
    }
 
    public static void print(float f) {
        System.out.println("print float:" + f);
    }
 
    public static void print(boolean b) {
        System.out.println("print boolean:" + b);
    }
}

在上述代码中,分别调用了三个不同类型的参数,程序会自动识别出参数的类型,并调用不同类型的参数对应的函数。从而,使使用者的代码更加简洁和易读。

重载优先级:

当参数个数与参数类型均相同的情况下,则需要根据函数返回类型来进行区分。但是,如果两个函数既有重载,又有重写,则重写的优先级最高,重载的优先级次之。