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 有什么关系,还有在内存中他们都指向同一个栈么?
有大神可以解答下么
list是TextInsert的实例,其中包含ins字段。两者完全不同。
list在堆栈上,指向的对象在堆上,而ins属于这个堆上的对象的一部分,也在堆上。
1.list 与 ins 没有 任何关系 在内存中是都是儿独立的, list在内存分配在栈中, new TextInsert()分配在堆上,list的引用指向堆上的new TextInsert()对象;
ins是数组,及复合数据类型,ins在被分配在栈上,new Object[size] 分配在堆上,ins引用指向堆上的new Object对象(希望没有误人)