网上搜到的这个问题的答案都是说创建了两个String Object 。
我要纠正:String s = new String("xyz");创建了3个String Object!!
第一个对象 字符串 xyz 在 new之前已经被分配了一块内存,。
第二个对象 new了一个对象
第三个对象 s
不懂看这个 Cat c = new Cat() 这个很清楚 是两个对象吧。
我要纠正:String s = new String("xyz");创建了3个String Object!!
第一个对象 字符串 xyz 在 new之前已经被分配了一块内存,。
第二个对象 new了一个对象
第三个对象 s
不懂看这个 Cat c = new Cat() 这个很清楚 是两个对象吧。
解决方案 »
- length是多大
- 做完其实飞行骑这类的小项目,可以看java编程思想这类书吗
- 窗体调用问题
- 在java中怎么申明和定义一个不知道长度的数组,以及运用,最好举个例子
- 我是个新手,有没有推荐一本JAVA的书!!!!!!!!!!
- 请问一下DocumentListener的问题??
- 想问问sendUrgentData这个方法是怎么用的
- java2 1.4.1的程序在win2000的console下汉字为问号
- 高分求Robocode资料
- for: armyshu(五) 麻烦您帮我解释一下,我很着急的,我就10分了!
- 刚毕业,程序员的路怎么走啊,迷茫,请大师们指点下
- 关于import org.w3c.dom.Element
可以说String s = NULL;
s不就是一个String对象了么。
其实就一个!!因为java认为一个hash值就代表了一个对象类型@XXXX-----------这就是一个对象。很多人还在以-引用,堆,栈,其实那只是对象数据的一部分。 new String("xyz") 你认为xyz有hash值么?------------------------------------------------------
但是笔试的时候你别写一个,我可都是瞎忽悠!!哇哈哈!!
另外,变量名跟对象是两码事,变量名不一定引用真正的对象。比如NULL引用。
怎么能说分配内存了 就是是对象啊
xyz不过是给String类的构造方法 public String(String name){} 传的值而已第二个对象 new了一个对象
这个是对的 只有这么一个对象 在堆中分配的内存 不过编译器并不知道应该确切的分配多大的内存空间第三个对象 s
s 是对象的引用 不是对象 是存储在栈内存中的 编译时编译器是需要知道要分配多大的内存空间的
是2个对象吧 先是abc 产生一个匿名对象 就是没有引用指向这个对象(堆空间)其实是个垃圾空间
然后通过new 产生一个对象 在堆内存分配空间 ,这个空间是上面空间的一个副本 通过=(赋值)把这空间的地址赋给引用s
不知道这样理解对不对 请高手再详解
s也是一个String对象
new又是一个String对象。
第1个:"xyz"
第2个:
new String("xyz")
String s = NULL;
s并没有成为一个对象,只是一个变量名而已。
简单说,s不成为一个对象的原因是s在现在不能进行只有String对象才能进行的操作。
如果你要执行类似于s.contains("1");
这样的语句,就会返回java.lang.NullPointerException
注意,是NullPointerException,不是NullObjectException
现在懂了不?
呵呵,在 s 中存放的只是 String 对象的首地址,s 只是一个对象引用。
书上明确再介绍String 类的时候 说明了 变量名和对象的区别
我就奇怪这个笨蛋 怎么还这么较真 怎么看的书 怎么学的习 还无视楼上诸多告诫你的人 !
变量名存对象的引用 变量就叫变量 对象就叫对象
我的天啊 斑竹删了这个帖吧
有句话说的好 -------------对牛弹琴
楼下再回复此帖的人 会被默认为也是牛!
我再说一句
请发此贴的牛 有本事 就去面试公司 和面试你的人探讨你的问题
不用多说别的 把你的帖子给人家看下
尤其让人家看你的最后一句话
“不懂看这个 Cat c = new Cat() 这个很清楚 是两个对象吧。”
保证直接把你扫地出门!
连j2se基础的基础都不懂的牛 哪家公司敢要?
蒙牛集团估计可以考虑下
不好意思 我是看了这么多你对回复者的评论 实在是忍无可忍了
把别人的好心提示 你却这么回复 !
Cat c = new Cat()
那这个c是什么 也是对象的引用?
你既然对String 有了更深的认识
那你问的Cat c = new Cat()
那这个c是什么 也是对象的引用?
这还用问吗 举一反三啊 难道楼主明白String不明白Cat?
再不成Cat 明白了 Dog d = new Dog()就不明白了?
说吧,对象就是你一块内存空间,引用就是这个空间的名字。网上搜到的这个问题的答案都是说创建了两个String Object 。
我要纠正:String s = new String("xyz");创建了3个String Object!!
第一个对象 字符串 xyz 在 new之前已经被分配了一块内存,。
第二个对象 new了一个对象
第三个对象 s
s显然不是对象。