java中的变量声明是否也为变量分配了空格?
例如:
String i;
在为其分配值之前,我无法使用i
。但是,在此行之后,我是否已经在堆栈上分配了i
的内存?或者,只有当我赋予它一些价值时它才会存在吗?
例如,在C中,此代码将声明并定义堆栈上的值。
int i;
是否为Java指定了一些标准?如果没有,编译器实现通常做什么?
话
String s;
在Java中类似于说
char* s;
在C.
在堆栈上为指针分配空间,但不是String
的实际内容(当然这在当时是未知的)