• 10.5 方法的重载


    1、概述

      方法的重载就是在同一个类中允许同时存在一个以上的同名方法,只要这些方法的参数个数或类型不同即可。
      注意:虽然在方法重载中可以使用连个方法的返回类型不同,但只有返回类型不同并不足以区分两个方法的重载,还需要通过参数的个数以及参数的类型来设置。

    例子10.9

     1 public class OverLoandTest {
     2     public static int add(int a, int b) {
     3         return a + b;
     4     }
     5     
     6     //定义与第一个方法相同名称、参数类型不同的方法
     7     public static double add(double a, double b) {
     8         return a + b;
     9     }
    10     
    11     //定义与第一个方法参数个数不同的方法
    12     public static int add(int a) {
    13         return a;
    14     }
    15     
    16     //定义一个成员方法
    17     public static int add(int a, double b) {
    18         return 1;
    19     }
    20     
    21     //这个方法与前一个方法参数次序不同
    22     public static int add(double a, int b) {
    23         return 1;
    24     }
    25     
    26     //主方法
    27     public static void main(String[] args) {
    28         System.out.println("调用add(int,int)方法:" + add(1,2));
    29         System.out.println("调用add(double,double)方法:" + add(2.1,3.3));
    30         System.out.println("调用add(int)方法:" + add(1));
    31     }
    32 }
    View Code

    2、在谈到参数个数可以确定两个方法是否具有重载关系时,会想到定义不定长参数方法。
      返回值 方法名(参数数据类型...参数名称)
      备注:在参数列表中使用“...”形式定义不定长参数,其实这个不定长参数a就是一个数组,编译器会将(int...a)这种形式看做是(int[] a),所以在add()方法体做累加操作时使用到了for循环语句,在循环中是根据数组a的长度做循环条件的,最后将累加结果返回。

    例子10.10

     1 public class OverLoadTest2 {
     2     public static int add(int a, int b) {
     3         return a + b;
     4     }
     5     
     6     //不定长参数形式的重载
     7     public static int add(int...a) {
     8         int s = 0;
     9         for(int i=0;i<a.length;i++) {        //根据参数个数做循环操作
    10             s += a[i];        //将每个参数累加
    11         }
    12         return s;        //将计算结果返回
    13     }
    14     
    15     //主方法
    16     public static void main(String args) {
    17         System.out.println("调用add(int,int)参数方法:" + add(3,4));
    18         
    19         //调用不定长参数方法
    20         System.out.println("调用不定长参数方法:" + add(1,2,3,4,5,6,7,8,9));
    21     }
    22 }
    View Code

     

  • 相关阅读:
    PHP防跨站之open_basedir目录设置
    在线Jupyter平台,验证手机号可免费使用
    wget命令之用户密码cookies断点续传指定类型整站下载
    linux控制台输出到文件
    结构体取变量
    常用编码解码识别
    #define和const
    做一个自己的清理临时文件的小程序(附成品&升级版)
    C盘清理/瘦身
    修复Word启动失败 报错WPS32
  • 原文地址:https://www.cnblogs.com/studycode/p/9533446.html
Copyright © 2020-2023  润新知