方法的传参过程

简介: 方法的传参过程
1.方法的重载

重载的概念 :

在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数 类型不同即可。

重载的特点:

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

重载示例:

//返回两个整数的和
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;}

例如:

System.out.println()方法就是典型的重载方法,其内部的声 明形式如下:

public void println(byte x)
public void println(short x)
public void println(int x)
public void println(long x)
public void println(float x)
public void println(double x)
public void println(char x)
public void println(double x)
public void println()
2.可变个数的形参

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

//JDK 5.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. 在一个方法的形参位置,最多只能声明一个可变个数形参

对象数组

3.方法的值传递机制

再谈方法之:

方法的值传递机制

1.(复习)对于方法内声明的局部变量来说:如果出现赋值操作

如果是基本数据类型的变量,则将此变量保存的数据值传递出去。

如果是引用数据类型的变量,则将此变量保存的地址值传递出去。

2,方法的参数的传递机制:值传递机制

规则:实参给形参赋值的过程

如果形参是基本数据类型的变量,则将实参保存的数据值赋给形参。

如果形参是引用数据类型的变量,则将实参保存的地址值赋给形参。

例题

基本类型传参

image.png

引用类型传参

image.png

4.递归方法

1.何为递归方法?方法自己调用自己的现象就称为递归。

2.递归方法分类:直接递归、间接递归

3.使用说明:

-递归方法包含了一种“隐式的循环”。

-递归方法会重复执行某段代码,但这种重复执行无须循环控制。

-递归一定要向已知方向递归,否则这种递归就变成了无穷递归,停不下来,类似于死循环·。最终发生栈内存溢出

相关文章
|
JSON 前端开发 数据格式
四种常见的参数传递方式
四种参数传递方式
203 0
|
2月前
|
JSON 前端开发 数据格式
@RequestMapping运用举例(有源码) 前后端如何传递参数?后端如何接收前端传过来的参数,传递单个参数,多个参数,对象,数组/集合(有源码)
文章详细讲解了在SpringMVC中如何使用`@RequestMapping`进行路由映射,并介绍了前后端参数传递的多种方式,包括传递单个参数、多个参数、对象、数组、集合以及JSON数据,并且涵盖了参数重命名和从URL中获取参数的方法。
211 0
@RequestMapping运用举例(有源码) 前后端如何传递参数?后端如何接收前端传过来的参数,传递单个参数,多个参数,对象,数组/集合(有源码)
|
7月前
|
存储 Java
Java数组与带参数方法:定义、调用及实践
Java数组与带参数方法:定义、调用及实践
80 1
|
7月前
|
存储 小程序
小程序路由传参的方法?
小程序路由传参的方法?
124 0
|
7月前
|
小程序
小程序封装组件简单案例,所有小程序适用(传入参数、外抛事件、传入样式)
小程序封装组件简单案例,所有小程序适用(传入参数、外抛事件、传入样式)
98 0
|
存储 小程序 编译器
数组传参不理解?(数组传参的本质)
数组传参不理解?(数组传参的本质)
108 0
|
存储 小程序
小程序路由传参的方法
小程序路由传参的方法
332 0
|
前端开发
前端学习案例3-this指向问题-隐式调用规则
前端学习案例3-this指向问题-隐式调用规则
79 0
前端学习案例3-this指向问题-隐式调用规则
|
前端开发
前端学习案例4-this指向问题-隐式调用规则2
前端学习案例4-this指向问题-隐式调用规则2
75 0
前端学习案例4-this指向问题-隐式调用规则2
|
网络协议 测试技术 Go
方法的调用和传参机制 | 学习笔记
快速学习方法的调用和传参机制
方法的调用和传参机制 | 学习笔记