今天遇到的面试题,关于对象构造的
来源:4-4 hashCode与equals的联系与区别
咖啡灌不醉
2020-05-13 15:35:09
老师您好,今天面试的时候问到了一个问题。面试官给了一个int数组,然后让我描述它的构造过程,这个该怎么回答呢。在网上搜寻也没有找到合适的解答,请老师指导
1回答
同学你好,上述问题int数组的构造过程,面试官应该是想了解数组是如何进行的分配,这里就需要同学讲述堆/栈的知识了。
首先知道堆内存是用来存放由new创建的对象和数组,栈内存是用来存放在函数中定义的一些基本类型的变量和对象的引用变量
举例说明:
例如:int[] a=null;//声明数组,也是引用
a=new int[5];//分配内存地址。
首先栈中声明了数组a,这时会在栈中开辟一个地址空间,然后将a指向地址,在堆中开辟一系统连续的地址,具体的需要根据你的类型还有数组长度
总结:声明一个对象引用在栈内存中开辟空间,创建对象在堆内存中开辟空间,而引用是一个动作,是把对象引用指向对象
祝学习愉快~
相似问题