【发布时间】:2017-03-25 14:38:37
【问题描述】:
我们说什么我都理解
a=b
这意味着无论 b 中的值是什么,它都会转到 a。换句话说,无论 b 引用什么,它现在都指向 a 的内存位置。
考虑到当我说的时候
a=b-----1)
b=a-----2)
就内存寻址和存储在该内存位置的值而言,这意味着什么。
我知道引用是在堆栈内存中创建的,而对象是在堆内存中创建的。但我想更深入地了解这段代码的每一行实际发生了什么。
谁能更深入地解释一下对象创建和引用变量的这个基本概念。
public class ABC
{
public Object add(Object a, Object b)
{
a=new Object();
b=new Object();
a=b;
b=a;
System.out.println("a= "+a);
System.out.println("b= "+b);
ABC c=new ABC();
return c;
}
public static void main (String[] args) throws java.lang.Exception
{
ABC cc=new ABC();
Object c=cc.add(4,5);
System.out.println("c= "+c);
}
}
【问题讨论】:
-
这太宽泛了。对于此类事情,您应该阅读一本书或教程。如果您的代码有特定问题,您应该更详细地解释它。