首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

对String s = new String("Hello");这句的理解有点不是很清楚解决办法

2012-01-02 
对String s new String(Hello)这句的理解有点不是很清楚书上总是说s是引用,一直不明白这个引用到底是

对String s = new String("Hello");这句的理解有点不是很清楚
书上总是说s是引用,一直不明白这个引用到底是个什么玩意,对引用的说法一直感觉是很虚。我按我自己的理解说的看下,高手帮我看下对不对。
String   s这句定义了一个字符串对象,s应该也是个对象吧?这个对象其实是个指向String字符串实例的指针,new   String( "Hello ")这句实例化了一个Hello字符串实例,假设Hello字符串实例在堆中的内存地址是0x001122,那么变量s中应该存放的就是这个地址0x001122吧?
第二个问题是s是存放在堆中还是栈中?按我把s理解为一个字符串对象来说,s应该是存放在堆中,不知对不?
第三个问题是s这个对象是什么时候分配内存空间的?String   s这句并没有使s在内存中分配空间吧?直到把new的字符串实例赋给s的时候,s才分配内存空间吧?

最后个问题是CSDN除了回答别人的问题得分外,还能怎么得分?我问了几个问题后就没分了,以后再有问题怎么办呢?再注册ID?

[解决办法]
个人认为, 你可以把引用理解为“别名”, new String( "hello ") 创建了一个字符串对象,这个对象叫什么名字呢?起个名字叫s吧 String s = new String( "hello ");
[解决办法]
你是人这个类的。
你的爸爸妈妈把你实例化了,
并给你取了个名字叫 "wesnow "
wesnow就是引用,你就是那个wesnow指向的对象.

[解决办法]
看下Clerk_9919(Clerk)的解释,你可以这么理解
[解决办法]
我认为楼主应该看看 <scjp考试> 的那本书,红色的

那里讲的很明了

分的问题很好办呐,你不能什么问题都问吧,关键是自己想

别人的问题你肯定也能说上几句的,说不上的话就把你自己的疑问也写上
[解决办法]
每天登录一次,CSDN给你10分。

热点排行