[Java]重温java基础-值传递和引用传递

测试题

import org.junit.Test;

/**
 * 

JavaAlgorithm

*

* * @author : 张智顺 * @date : 2020-06-21 17:17 **/ public class MyTest { @Test public void main() { int i = 0; getNewNumber(i); System.out.println(i); Integer integer = 0; getNewNumber(integer); System.out.println(integer); MyClass myClass = new MyClass(); myClass.setI(0); getNewNumber(myClass); System.out.println(myClass.getI()); } public void getNewNumber(MyClass myClass){ myClass.setI(3); } public void getNewNumber(Integer i){ i = new Integer(2); } public void getNewNumber(int i){ i = 1; } class MyClass { Integer i ; public Integer getI() { return i; } public void setI(Integer i) { this.i = i; } } }

输出:

0
0
3

分析:只有当传入参数为对象类型时,入参传入的才为对象地址, 其他的基本类型(原始类型)或者封装类型传入的都是数值

你可能感兴趣的:(JAVA)