小白求大神解惑!! JAVA带参数构造函数与数组

public class TextInsert {
private Object[] ins;
private int size;

public TextInsert(int size){   
    ins=new Object[size];
}

public static void main(String[] args){
TextInsert list=new TextInsert(2);
我想请问下,这里的list 跟 ins 有什么关系,还有在内存中他们都指向同一个栈么?
有大神可以解答下么

3个回答

list是TextInsert的实例,其中包含ins字段。两者完全不同。

list在堆栈上,指向的对象在堆上,而ins属于这个堆上的对象的一部分,也在堆上。

1.list 与 ins 没有 任何关系  在内存中是都是儿独立的, list在内存分配在栈中, new TextInsert()分配在堆上,list的引用指向堆上的new TextInsert()对象;

ins是数组,及复合数据类型,ins在被分配在栈上,new Object[size] 分配在堆上,ins引用指向堆上的new Object对象(希望没有误人)
图片说明

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐