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

面向对象

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 方法运算完成后,就会从内存中消失。

当我们再次遍历数组时候,就会发现这个数组发生了改变。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值