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

xiaoxiao2021-02-27  146

首先,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"。

转载请注明原文地址: https://www.6miu.com/read-13391.html

最新回复(0)