对象数组在创建时,也需要new,因此我觉得对象数组也是存储在堆内存中,而数组空间是连续的,因此相当于将创建数组的首地址返回。此时,因为类对象的特殊性,这里只有地址值,而没有内存。
创建对象的内存需要单独new一个,然后在堆中开辟内存,返回地址值,将地址值给数组。
那既然没有开辟内存,又何必需要堆内存的地址呢?我觉得应该是仅仅在栈中开辟了局部变量数组,实例化的时候才会在堆中开辟内存,将对象对应的地址赋值给数组。
有没有大佬解答一下,在还没有实例化对象之前,对象数组存在哪里?
对象数组在创建时,也需要new,因此我觉得对象数组也是存储在堆内存中,而数组空间是连续的,因此相当于将创建数组的首地址返回。此时,因为类对象的特殊性,这里只有地址值,而没有内存。
创建对象的内存需要单独new一个,然后在堆中开辟内存,返回地址值,将地址值给数组。
那既然没有开辟内存,又何必需要堆内存的地址呢?我觉得应该是仅仅在栈中开辟了局部变量数组,实例化的时候才会在堆中开辟内存,将对象对应的地址赋值给数组。
有没有大佬解答一下,在还没有实例化对象之前,对象数组存在哪里?
道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。