zoukankan      html  css  js  c++  java
  • 再谈方法(五)

    一、方法的重载

      1.重载的概念

          在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数,参数类型,参数顺序不一样即可

      2.重载的特点

          与返回值类型无关,只看参数列表,且参数列表必须不同。调用时,根据方法参数列表的不同来区别

      3.重载的示例

          //返回两个整数的和

          int add(int x,int y){return x + y;}

          //返回三个整数的和

          int add(int x,int y,int z){return x + y + z ;}

          //返回两个小数的和

          double add(double x,double y){return x + y;}

    二、可变形参的方法

       1.概念

            JavaSE5.0中提供了Varargs(variable number of arguments)机制,允许直接定义能和多个实参相匹配的形参,从而,可以用一种更简单的方式,来传递个数可变的实参

             //JDK5.0以前:采用数组形参来定义方法,传入多个同一类型变量

            public static void test(int a,String[] books);

            //JDK5.0:采用可变个数形参来定义方法,传入多个同一类型变量

            public static void test(int a,String...books);

          说明:

            1.声明格式:方法名(参数的类型名 ...参数名)

            2.可变参数:方法参数部分指定类型的参数个数是可变多个:0个 ,1个或多个

            3.可变个数形参的方法与同名的方法之间,彼此构成重载

            4.可变参数方法的使用与方法参数部分使用数组是一致的

            5.方法的参数部分有可变形参,需要放在形参声明的最后

            6.在一个方法的形参位置,最多只能声明一个可变个数形参

    三、方法参数的值传递机制

        ♦方法,必须由其所在类或对象调用才有意义。若方法含有参数:

          →形参:方法声明时的参数

          →实参:方法调用时实际传给形参的参数值

        ♦Java的实参值如何传入方法呢?

          →形参是基本数据类型:将实参基本数据类型变量的‘数据值’传递给形参

          →形参是引用数据类型:将实参引用数据类型变量的‘地址值’传递给形参

         例子:

          1.基本数据类型的参数传递

           2.引用数据类型的参数传递

     图示如下:

    四、递归方法

        ♣递归方法:一个方法体内调用它自身。

        ♣方法递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无须循环控制。

        ♣递归一定要向已知方向递归,否则这种递归就变成了无穷递归,类似于死循环。

        例子:

         //计算1-100之间所有自然数的和

         public int sum(int num){

          if(num == 1){

            return 1;

          } else {

            return num + sum(num - 1);

          }

         }

         递归调用图示:

  • 相关阅读:
    Ubuntu -- 安装、卸载程序的命令
    nodejs基础 -- 多进程
    nodejs基础 -- express框架
    nodejs基础 -- web模块
    nodejs基础 -- 常用工具util
    nodejs基础 -- 全局对象
    nodejs基础 -- 路由
    MVC4中下拉菜单和单选框的简单设计方法
    Uploadify在MVC中使用方法案例(一个视图多次上传单张图片)
    Uploadify在MVC中使用方法案例(上传单张图片)
  • 原文地址:https://www.cnblogs.com/lingtiaoti/p/12325549.html
Copyright © 2011-2022 走看看