只能在堆上生成
为什么需要类只在堆上生成
一般来说,栈是存储局部变量和方法调用的一种内存区域,而堆事用于动态分配内存的另一种内存区域。主要原因有几点
- 对象生命周期:在堆上创建对象可以延长其生命周期。堆上的对象不会受限于其所在方法或作用域的接受。相反,他们在方法结束之后可以先继续存在,并且可以在其他部分使用,适合于多个方法或者多个对象之间需要共享数据。
- 动态大小:堆允许动态分配对象的大小,在堆上创建对象的时候,可以根据需要分配内存,适合于处理链表或者树之类的动态数据结构或者变长数据。
- 对象共享:在堆上创建对象可以实现对象共享。多个对象可以引用相同的堆对象,节省内存。适合于需要复制大量数据。
- 对