基本和引用数据类型的改变

博客围绕Java面向对象展开,介绍了Java中方法是完成特定功能的代码块,还提及方法的重载和重写,包含方法形式为基本数据类型和引用数据类型的图解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

面向对象

1、Java中的方法:完成特定功能的代码块。
2、方法的重载和重写:
在这里插入图片描述

方法的参数如果是基本数据类型:
		形式参数的改变不影响实际参数的改变。
		形式参数:用于接收实际参数的变量(在方法的声明上)。
		实际参数:实际参与运算的变量。

A、方法的形式是基本数据类型图解:
在这里插入图片描述

方法区存储的是 Class 字节码文件,而 main 方法和 change 方法都在 ArgsDemo 里面,所以如图方法区有一个区域,
存储了 ArgsDemo.class,里面有 2 个方法:main、change 方法。

程序执行开始, main 方法首先会开始执行进栈(栈里的方法是先进后出),进栈后会为main方法开辟一块内存空间,进行
a、b的赋值,打印出 a=10,b=20。

程序继续往下走,调用 change(a,b) 方法,change方法会从方法区加载到栈中,进行内存区域分配,首先明确一点 a、
b的原始值分别是10、20。然后在change方法中进行赋值操作,进而在change方法中打印出a、b的值分别是20、40。当
change 方法走完成后,就会从内存中消失。就只剩下一个 main 方法,所以再次打印 a、b还是10、20。

B、方法的形式是引用数据类型图解:
在这里插入图片描述

和上面类似,程序执行开始, main 方法首先会开始执行进栈,创建 arr 数组,栈中数组 arr 通过地址值 001 指向堆中
new 出来的数组,进行赋值 1、2、3、4、5。

程序继续往下走,调用 change(arr) 方法, change 方法会从方法区加载到栈中,进行内存区域分配。而在调用chage方法
时,会把 arr 的地址值传递过去(这就是我们经常提到的2个引用指向同一个堆内存,任何一个应用对其的操作都会直接影响
另外一个引用),当 change 方法运算完成后,就会从内存中消失。

当我们再次遍历数组时候,就会发现这个数组发生了改变。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值