例如引用数据类型String 这个明白的,栈内变量存地址指向堆内的String对象本身,那么如果有一个Student st=new Student() 对象. 然后属性 st.name 那么这个name是String类型在内存里怎么存在?? 下面是我自己的想法
1.堆内st对象的成员name保存的是String对象在堆内存的地址,然后st.name 调用时先找到堆里的对象st 然后通过 st.name 的地址再找到堆里的String对象本身
2.堆内st对象的成员name保存的就是这个String对象本身, 而这个String对象的地址就保存在栈里的st.name中.
3.我以上想法都不对,问各位大神到底是怎么存在的
4.同时问如果有其它自定义类作为对象属性,那么存在形式和String类的存在形式一样不