针对代码的执行流程, 从内存角度分析.
代码的执行是从main 开始的, 一开始就会把main 方法加载到栈内存.
接下来, main 方法中有一个int number =100, 也会加载到栈内存中.
接下来输出100.
接下来调用change 方法, change 方法也会被加载到栈内存.
接下来, 就会进入change 方法内部, change 方法内部有形参 int number, 也会被加载到内存中.
形参int number 的值是实参number 给的, 所以形参int number 的值也是100.
进入change 方法之后, 修改了number 的值为200.
但是main 方法中number 的值还是100.
change 里面没有了代码, 所以change 方法调用完成.
所以change 方法就从栈内存中消失.
继续往下执行, 栈内存中number 的值还是100, 所以输出number 的值是100.
现在main 方法也执行完成, 也就从内存中消失了.
代码演练:
总结: 无论形参的值如何修改, 都不影响实参的值.