我的理解是:
"从存储空间上来说,对象和引用也是独立的,它们存储在不同的地方,对象一般存储在堆中,而引用存储在速度更快的堆栈中"
Class c = new Class();
这一条是:生成一个类型为Class 名称为c 的对象。
这条语句可以拆分理解:
Class c;
c = new Class();
第一条是:在栈内存中分配一个名称为c的空间,即创建一个Class类的引用。
第二条是:在堆内存中生成一个Class类的对象。引用符“=” 将对象的地址传给栈内存中的标志c。
理解的难点在于:对象是在堆内存中存放的,而引用是在栈内存中存放的。引用和对象是相对独立的。
只有用引用符"="传递之后,对象才有了名称。而引用也不会为空null了。