l对象变量保存的仅仅是对象的一个引用,不是对象本身!
l这点是非常重要的!有助于理解.NET
BankCustomer c;
c = new BankCustomer();
.
c = new BankCustomer();
.
我们再来看一个重要概念,对象和对象引用的概念。这就涉及到了栈和堆的概念。当我们程序执
行
BankCustomer c
,其实是在栈中分配了一块地址空间,内容为空;之后我们做
c = new
BankCustomer()
此时在堆中分配了内存地址用于存放
BankCustomer
的对象!同时把这个
地址传入给栈中
c
的内容。
c
只是存放对象的引用。
问题?
public int ReturnValue2()
{
MyInt x;
x.MyValue = 3;
MyInt y;
y = x;
y.MyValue = 4;
return x.MyValue;
}
{
MyInt x;
x.MyValue = 3;
MyInt y;
y = x;
y.MyValue = 4;
return x.MyValue;
}
X Y 是对象引用分配在
栈,那么