在Java中,当我们只声明类类型的变量时,只创建一个引用(不为该对象分配内存).是否在堆上创建了某个空间的引用?或者如果我错了那么当我们宣布变量时,在内存中会发生什么?
Test t;
Run Code Online (Sandbox Code Playgroud)
在Java中,当我们只声明类类型的变量时,只创建一个引用(不为该对象分配内存).
这是对的.
是否在堆上创建了某个空间的引用?
答案取决于声明出现的背景.如果所述声明是对象的一部分(即t是一个字段),那么将从堆中分配引用的空间,以及包含该字段的对象的其余部分的空间.否则,引用空间将在JVM的堆栈帧中分配.