在创建类的对象时,会同时涉及到在内存中的堆与栈的分配。若是只创建了对象并没有实例化,则创建的对象被分配到栈中,且其内容不确定。使用new关键字进行实例化之后,会在堆上分配一定的空间,并返回所在堆的地址。在创建对象时进行实例化,实例化的对象就会指向分配的堆空间。在进行对象实例化时一定要考虑内存分配问题。具体情况如图:
具体描述请参考斯坦福大学编程方法论第14讲
在创建类的对象时,会同时涉及到在内存中的堆与栈的分配。若是只创建了对象并没有实例化,则创建的对象被分配到栈中,且其内容不确定。使用new关键字进行实例化之后,会在堆上分配一定的空间,并返回所在堆的地址。在创建对象时进行实例化,实例化的对象就会指向分配的堆空间。在进行对象实例化时一定要考虑内存分配问题。具体情况如图:
具体描述请参考斯坦福大学编程方法论第14讲