当前位置: 技术问答>java相关
请问:在JAVA中创建句柄后,有没有给这个对象分配内存?
来源: 互联网 发布时间:2015-08-19
本文导语: 请问:在JAVA中创建句柄后,有没有给这个对象分配内存? 如:String s; 此时有没有给s分配内存。 | 没有 只有new 了 才会肯定分配内存 就算 String s = "aaa" 都不一定 | 当...
请问:在JAVA中创建句柄后,有没有给这个对象分配内存?
如:String s;
此时有没有给s分配内存。
如:String s;
此时有没有给s分配内存。
|
没有 只有new 了 才会肯定分配内存
就算 String s = "aaa" 都不一定
就算 String s = "aaa" 都不一定
|
当然分配了,String的值是不可以修改的
String s;
s = new String("aa");
变量s的所指向的地址就发生变化了
String s;
s = new String("aa");
变量s的所指向的地址就发生变化了
|
肯定没有分配,例如
String s;
此时使用s回返回空指针错误
s="aaa";再使用s就不会出错了。
String s;
此时使用s回返回空指针错误
s="aaa";再使用s就不会出错了。
|
严格的说在Java中是存在指针的,但我们都叫他引用or句柄。我们通过句柄
来操作对象。
1、分配内存包括:句柄本身的内存和对象的内存。
String s ; //分配一个句柄内存,可能是32位的,但是句柄指向的对象为空
s=new String("file") ;//分配具体对象的内存。!
对于Java来说内存很重要吗?
来操作对象。
1、分配内存包括:句柄本身的内存和对象的内存。
String s ; //分配一个句柄内存,可能是32位的,但是句柄指向的对象为空
s=new String("file") ;//分配具体对象的内存。!
对于Java来说内存很重要吗?