为什么说这是两个对象喔..一个是引用对象一个是abc实例对象..我也会用了..但总得弄清楚点好..谁能再给我解释下这小白问题

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【wujiaweizhuzhibin】截止到2008-07-18 22:23:12的历史汇总数据(不包括此帖):
    发帖的总数量:1                        发帖的总分数:5                        每贴平均分数:5                        
    回帖的总数量:1                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:1                        结贴的总分数:5                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    敬礼!
      

  2.   

    引用里存的是实例在内存的地址.
    实例对象存的是"abc"字符串
      

  3.   

    一个是在盏内存 一个是在堆内存~
    String str  -----------  在盏内存保存了一个名str的引用变量
    new String("abc")------  在堆内存保存了一个"abc"的实力变量
    String str = null;
    str = new String("abc");
    第一句是创建了一个String引用类型的变量,名为str默认就是null(没指向任何的堆内存)
    第二句就是调用参数是String类型的String类的构造器然后赋值给Str(就是str指向了堆内存构造器的值吧) 
    小菜解析完~我用数组赋值来理解的~意思大概是这样吧~
      

  4.   


    看这个http://zangweiren.javaeye.com/blog/209895另外需要指出下,LZ的问题叙述就有问题“两个对象”是没错,但并不是“一个是引用对象一个是abc实例对象”,好好看看上面的连接
    引用是引用(reference),对象是对象(object),实例是实例(instance),应该不存在引用对象这种说法,也不存在实例对象这种说法。按Think in Java,“Everything is an Object. You manipulate objects with reference”.
      

  5.   

    首先看String的构造方法,需要接受一个String对象,执行new String("abc")时,首先把abc以char[]{'a','b','c'}的形式存入栈内存,然后新建一个String对象,其值就是存入栈内存的abc,这时候一个String对象创建出来了。然后再是执行new String操作。这样就是两个对象了。str只是一个引用变量。通俗点说,当"abc"作为参数传入构造方法时,"abc"才真正的成了一个String对象,就是相当于执行了String s="abc"。所以在new String()的过程中产生了一个String对象,其值是"abc"
      

  6.   

    str是一个引用对象,分配内存在 栈内存中str指向 new String("abc")这个结象,new String("abc")这个对象在堆中分配内存
      

  7.   

    想学java,而不会java的朋友.如果你刚学java,可以看一下本系列的其他文章
    java自动设置环境变量
    更多信息请参考java论坛
    java自动设置环境变量 http://bbs.palmjob.net/technology/2001/080708142037640-1.htm
    java论坛 http://bbs.palmjob.net/