楼主注意:Java中明确说了 只有值传递 没有引用传递
其实 这么理解就可以了 以前说的引用传递其实也是值传递的一种
因为引用变量也是变量 存储在栈内存中 引用变量的值不就是地址值么
如果把引用变量作为参数 传给某个函数的时候 其实 就相当于把这个地址值传给了一个在该函数方法内可见的
临时引用变量
e.g.- class A{
- int a =5;
- int b =12;
- }
- class B{
- public static void change(A obja){
- obja.a =10;
- obja.b =22;
- }
- public static void main(String[] args){
- A oA =new A();
- System.out.println(oA.a +";;;;"+ oA.b);
- change(oA);
- System.out.println(oA.a +";;;;"+ oA.b);
- }
- }
复制代码 打印结果:
D:\BlackHorse_Pro\IO>java B5;;;;1210;;;;22
内存图如下:
|
|