Java基础学习:6、方法的重载和可变参数

一、方法重载:

基本介绍:

  Java中允许在一个类中,多个同名方法的存在,到要求形参列表不一致。

注意事项:

  1、方法名:必须一致。

  2、形参列表:必须不同(形参类型或个数或顺序至少有一样不同,参数名无要求:int n 和 int a 是一样的)。

  3、返回类型:无要求。

重载的意义:

  1、减轻了起名的麻烦。

  2、减轻了记名的麻烦。

public class Overload {
  public static void main(String[] args) {
    Methods methods = new Methods();
    int cal1 = methods.cal(12);
    int cal2 = methods.cal(12,22);
    String cal3 = methods.cal("hello");
    System.out.println(cal1 + " " + cal2 + " " + cal3);
  }
}

class Methods{
  public int cal(int n) {
    return n * n;
  }

  public int cal(int n1, int n2) {
    return n1 * n2;
  }

  public String cal(String str) {
    return str;
  }
}

  

二、可变参数:

定义:就是方法的参数的个数是可变的。

public class Overload {
  public static void main(String[] args) {
    Methods methods = new Methods();
    int sum = methods.sum(1,2,3,4,5);
    System.out.println(sum);
  }
}
class Methods{
  /*
  1、int... 表示接收的是可变参数,类型为int,即可以接收任意个int类型参数。
  2、使用可变参数是可以当做数组来使用,即nums 可以当做数组。
  3、遍历nums求和即可。
  * */
  public int sum(int... nums) {
    int res = 0;
    for (int i = 0; i < nums.length; i++) {
      res+=nums[i];
    }
    return res;
  }
}  

使用细节:

1、可变参数的实参可以是0或者任意多个。

2、可变参数的实参可以为数组,可变参数的本质就是数组。

public class Overload {
  public static void main(String[] args) {
    Methods methods = new Methods();
    int[] arr = {1, 2, 3};
    int sum = methods.sum(arr);
    System.out.println(sum);
  }
}
class Methods{
  public int sum(int... nums) {
    int res = 0;
    for (int i = 0; i < nums.length; i++) {
      res+=nums[i];
    }
    return res;
  }
}

  

3、可变参数可以和普通类型参数一起放在形参列表,但必须保证可变参数在最后。

  public int sum(int n1, int n2 ,int... nums) {
    int res = 0;
    for (int i = 0; i < nums.length; i++) {
      res+=nums[i];
    }
    return res;
  }

  

4、一个形参列表中只能出现一个可变参数。

 

posted @ 2021-07-22 17:34  Y字仇杀队  阅读(71)  评论(0编辑  收藏  举报