3.30Java方法的重载(overload)

3.30Java方法的重载(overload)

注意:

重载的方法,实际是完全不同的方法(独立的方法),只是名称相同

构成方法重载的条件:

  • 不同的含义:形参类型、形参个数、形参顺序不同

  • 只有返回值不同不构成方法的重载

实例:

int a(String str){}与void a(String str){}
public static int add(int n1, int n2){
   int sum = n1 + n2;
   return sum;
}

public static double add(int n1, int n2){
   double sum = n1 + n2;
   return sum;
}
/*
即便传入的参数不同

不构成方法重载

  • 只有形参的名称不同,不构成方法的重载

实例:

int a(String str){}与int a(String s){}
public static double add(int n1, int n2){
   double sum = n1 + n2;
   return sum;
}

public static double add(int n2, int n1){
   double sum = n1 + n2;
   return sum;
}

不构成方法重载

构成方法重载的实例:

/**
* 测试方法的重载
* @author Lucifer
*/
public class TestOverLoad {
   public static void main(String[] args){
       System.out.println(add(1,2,3));
       System.out.println(add(3.0,4));
       System.out.println(add(3,5.0));
       System.out.println(); //这个输出语句本身就是重载的方法
  }

   /**
    * 求和的方法
    */
   public static int add(int n1, int n2){
       int sum = n1 + n2;
       return sum;
  }

   //方法名相同,参数个数不同,构成重载
   public static int add(int n1, int n2, int n3){
       int sum = n1 + n2 + n3;
       return sum;
  }
   /*
   方法+static目的是为了方便调用
   1.在main方法里面用了static后面的方法没用static则需要创建对象去对后面的方法进行调用
   2.如果后面的方法页用了static则可以直接调用,不需要再创建对象
    */

   public static double add(double n1, int n2){
       double sum = n1 + n2;
       return sum;
  }

   //方法名相同,参数类型不同,构成重载
   public static double add(int n1, double n2){
       double sum = n1 * n2;
       return sum;
  }

   //不构成重载
//   public static double add(int n1, int n2){
//       double sum = n1 + n2;
//       return sum;
//   }
}

 

posted @ 2021-03-31 09:15  俊king  阅读(347)  评论(0)    收藏  举报