public class A{
B b = new B();
}
public class B{
C c = new C();
}
public class C{
}
此时的c是在堆上还是栈上?
只有一种情况在栈上,那就是值数据类型,并且定义成函数的局部变量,它才是在栈上。
当然都是在堆上。
当然是堆上,new出来的都在堆上。
只要是new关键字的就是堆上,记住这个概念就好了。
那个B的引用在栈上,B对象,C引用,C对象都在堆上面
在堆上。可以在默认构造函数中将对象的地址显示出来看看就确定了
用new和malloc申请的动态内存均在堆上,栈内存放的是局部变量。
这个当然是在堆上了!
在堆上啊,对象时在堆上的
一楼说的有道理( •̀ ω •́ )y