Java函数重载与默认参数
Java是一种完全面向对象的编程语言,而函数重载和默认参数是Java中非常重要的概念。函数重载指的是在同一个类中可以有多个同名函数,但是它们的参数列表不同。默认参数则是指在函数定义时可以给某些参数设定默认值,从而在调用函数时可以省略这些参数。
函数重载:
Java中允许函数名称相同但参数个数或参数类型不同的函数同时存在,称为函数重载。在Java中,函数重载可用于:
1.更好的代码复用
2.减少函数命名,提高代码可读性
3.增强函数的灵活性和可扩展性
示例代码:
public class OverloadTest {
public void test1(){
System.out.println("test1");
}
public void test1(int a){
System.out.println("test1:" + a);
}
public void test1(int a, int b){
System.out.println("test1:" + a + "," + b);
}
public void test1(double a){
System.out.println("test1:" + a);
}
public static void main(String args[]){
OverloadTest demo = new OverloadTest();
demo.test1();
demo.test1(1);
demo.test1(1, 2);
demo.test1(1.0);
}
}
输出结果:
test1
test1:1
test1:1,2
test1:1.0
可以看出,函数名相同,但参数个数或类型不同的函数都可以在同一个类中共存。调用时根据参数列表的类型和个数选择具体的函数,使得程序更加灵活和可扩展。
默认参数:
Java中的默认参数可以在函数定义时为某些参数设置默认值。当函数被调用时,如果没有传递该参数,则使用默认值。
示例代码:
public class DefaultTest {
public int test1(int a){
return test2(a, 10);
}
public int test2(int a, int b){
return a + b;
}
public static void main(String args[]){
DefaultTest demo = new DefaultTest();
System.out.println(demo.test1(5));
System.out.println(demo.test1(5, 15));
}
}
输出结果:
15
20
可以看出,函数test1有一个参数a,默认值为10,如果不传递参数a,则使用默认值10。函数test2有两个参数a和b,test1调用了test2,在test2中使用了参数a和默认值10相加得到结果。因此,当调用test1时传递一个参数时,使用默认值10作为第二个参数;当传递两个参数时,第二个参数使用传递的值15。
