因为java只有一种传递参数的方式:值传递。 在值传递中,实参的值被传给形参,方法体内对形参的任何赋值操作都不会影响到实参。 import org.junit.Test; public class JavaMethodParamTransfer_Value { /** * 探讨Java的值传递问题 */ /** * 1. 基本数据类型的值传递 */ public void add(int a) { a = a + 1; } @Test public void test1() { int a = 2; add(2); System.out.println(a);//2 } /** * 2. Object引用传递 */ public void modifyObject(Object obj) { obj = new Object();//IDEA默认提示,obj永远不会赋值为new Object() } @Test public void test2() { Object obj1 = new Object(); Object obj2 = obj1; System.out.println(obj1 == obj2);//true指向一个对象 modifyObject
对象传入方法内然后赋值成null,为什么执行完方法之后,值不是null?
最新推荐文章于 2022-09-07 23:06:39 发布