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

Java函数重载与默认参数

发布时间:2023-06-22 19:31:42

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。