Java是值传递

一、定义

值传递:当⼀个参数按照值的⽅式在两个⽅法之间传递时,调⽤者和被调⽤者其实是⽤的两个不同的变量——被调⽤者中的变量(原始值)是调⽤者中变量的⼀份拷⻉,对它们当中的任何⼀个变量修改都不会影响到另外⼀个变量。

引用传递:当⼀个参数按照引⽤传递的⽅式在两个⽅法之间传递时,调⽤者和被调⽤者其实⽤的是同⼀个变量,当该变量被修改时,双⽅都是可⻅的。

 

二、举例

值类型:

public static void main(String[] args) {
int i = 5;
f(i);
System.out.println("i = " + i);
}
public static void f(int j) {
j = 10;
}

调用函数 f() 时,会将 main 中 形参 i 的值赋值给形参 j。这是两个不同的变量,对变量 j 的操作不会影响变量 i 

 

引用类型:

public static void main(String[] args) {
String name = "张三";
f(name);
System.out.println("name = " + name);
}
public static void f(String name) {
name = "李四";
}

由于name是引用类型,name中保存的值是一个地址,调用函数 f() 时,会将这个地址传给形参 name,之后形参 name 中会保存字符串 "李四" 的地址,形参 name 的地址没有改变,输出的自然是张三了。

posted @   LANE_AZUR  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示