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);
}
}
在上述代码中,分别调用了三个不同类型的参数,程序会自动识别出参数的类型,并调用不同类型的参数对应的函数。从而,使使用者的代码更加简洁和易读。
重载优先级:
当参数个数与参数类型均相同的情况下,则需要根据函数返回类型来进行区分。但是,如果两个函数既有重载,又有重写,则重写的优先级最高,重载的优先级次之。
