考虑以下声明:
Class1 c1=new Class1();
引用变量c1
保留在堆栈中,实际对象在堆中分配。
这个"参考变量"的类型是什么?堆栈中c1
?它是一个指向堆内存地址的整数指针吗?
答案 0 :(得分:1)
首先,<staticContent>
<clientCache cacheControlMode="UseExpires" httpExpires="Tue,19 Jan 2038 03:14:07 GMT"/>
</staticContent>
不一定坐在堆栈上。它是一个值,该值将存储在该变量的任何位置。它可能在堆栈上,也可能不在,有很多因素会影响给定变量的存储位置。
就变量的类型而言,变量c1
的类型是c1
。该变量的值是对其他地方的对象的引用,而不是包含Class1
实例的数据,这意味着拥有Class1
类型的变量。通过定义一个存储位置,其中包含对其他地方类型为Class1
的实例的引用,这意味着拥有Class1
类型的变量,并且&#39;确切地说是Class1
。