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