您的位置:首页 > 编程语言 > Java开发

Java中函数参数是值还是对象的问题

2017-08-30 21:33 429 查看
首先,Java中的函数传参只有值传递,不存在其他的形式

如果是传递基本数据类型,那没什么好说的,传的是值。

如果是传递的对象,传递的也是值,这个“值”是该对象的引用的副本,本质上是一个内存地址。

举例如下:

public static void main(String[] args) {
String s = "aaa";
change(s);
System.out.println(s);
}
public static void change(String s){
s="bbb";
}在函数change(String s)中的s是main方法中s的一个副本,当执行代码s="bbb"时,只是将s这个副本从指向"aaa"变成指向字符串常量池中的"bbb",对于main中的s,并没有影响,它依然指向"aaa"。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: