Java基础(9)之方法

1. 方法概述

1.1 什么是方法

将好几串代码组成一个整体,这个整体就是方法。
在这里插入图片描述
在这里插入图片描述

2. 方法的定义和调用

2.1 方法定义

在这里插入图片描述

2.2 方法的调用

方法名()就可以调用方法
在这里插入图片描述
代码示例:
必须再main方法中调用方法,因为main是方法的入口。
在这里插入图片描述
运行结果:
在这里插入图片描述
在这里插入图片描述

2.3 方法调用过程

先从main方法开始,找到方法后再调用方法。
在这里插入图片描述
执行完第5步方法后,这个方法就算结束了,消失了,然后再执行方法后面的代码,如果没有就结束运行。
在这里插入图片描述

3. 带参数方法的定义和调用

3.1 带参数方法定义

在这里插入图片描述

3.2 带参数的方法调用

在这里插入图片描述

3.3 形参和实参

形参:方法定义中未被赋值的参数。
实参:方法调用中赋值给形参的参数。
在这里插入图片描述
代码示例:
在这里插入图片描述
运行结果:
在这里插入图片描述

4. 带返回值方法的定义和调用

4.1 带返回值方法的定义

在这里插入图片描述

4.2 带返回值方法的调用

在这里插入图片描述
代码示例:
在这里插入图片描述

5. 方法的注意事项

5.1 方法注意事项

在这里插入图片描述
如果想return返回值,方法中就必须添加数据类型。
在这里插入图片描述

5.2 方法的通用格式

在这里插入图片描述
在这里插入图片描述

6. 方法重载

6.1 方法重载概述

在这里插入图片描述
在这里插入图片描述

6.2 方法重载特点

在这里插入图片描述
在这里插入图片描述
代码示例:
在这里插入图片描述
运行结果:
在这里插入图片描述
注意:
方法重载与返回值无关
在调用的时候,Java虚拟机会通过参数的不同来区分同名的方法

7. 方法重载的传递

7.1 方法重载传递(基本类型)

我们来看看对于基本数据类型的参数,形式参数的改变,会不会影响实际参数的值。
会影响的话就就会输出200,不会影响的话就输出100。
在这里插入图片描述
先运行main方法,栈内存中存放main方法。
在这里插入图片描述
运行 int number = 100; 栈内存中存放。
在这里插入图片描述
输出number的值,100;
在这里插入图片描述
调用change方法,也会被方法栈内存;
在这里插入图片描述
进入number方法,方法中有一个形参int number,栈内存中也会存放一个,新参的值由main方法中的number赋值,所以他也是100。
在这里插入图片描述
在进入change方法中,将change的新参number修改为200.
在这里插入图片描述
但是main方法中的number还是100,所以,对于基本数据类型的参数,形式参数的改变,不影响实际参数的值
在这里插入图片描述
第二次输出还是100.
在这里插入图片描述

7.2 方法参数传递(引用类型)

我们来看看对于引用类型的参数,形式参数的改变,会不会影响实际参数的值。
会就输出200,不会就输出10;
在这里插入图片描述
我们来看看内存执行流程。
方法从main方法开始执行,存入栈内存。
在这里插入图片描述
执行int [ ] arr = {10,20,30}; ,左边放入栈内存,右边放入堆内存
因为,数组还有一种写法是,int [ ] arr = new int [] {10,20,30};,所以 数组为自己new了一块空间存放值。
在这里插入图片描述
输出arr[1] 的值,20
在这里插入图片描述
然后调用change方法,放入栈内存
在这里插入图片描述
运行change方法,将形参int [] arr放入栈内存,将实参arr(arr的内存地址为001)放入新参,在这里插入图片描述
进入change方法,将形参arr[1]的值修改为200(因为main方法和change方法共用一个堆内存地址,所以是可以修改值的)
在这里插入图片描述
所以,对于引用类型的参数,形式参数的改变,影响实际参数的值
在这里插入图片描述

发布了50 篇原创文章 · 获赞 13 · 访问量 1858

猜你喜欢

转载自blog.csdn.net/qq_43581078/article/details/104280803
今日推荐