String A,B,C;
A = "abc";
B = "de";
以上代码共创建了多少个对象?
 

解决方案 »

  1.   

    如果是:String A,B,C;
    A = new String("abc");
    B = new String("de");
    以上代码共创建了多少个对象?
     
      

  2.   

    语句执行完后,A和B 各指向一个象,但C=null,
    所以是生成两个对象,
      

  3.   

    第一个应该是2个
    因为c=null(没有赋值)所以说只有两个对象。
    第二个不太清楚我认为是4个
    因为a和b被重新定义而且还多了"abc","de"这两个对象所以说是4个。
    不知道这样说对不对,希望知道确切答案的解释一下。
      

  4.   


    2个
    4个 
    new String("abc");"abc"1个 new1个
      

  5.   

    如果只定义的话是创建了一个可以指向对象的引用,类似于C/C++中的的指针。
    String str;
    并不创建对象。
      

  6.   

    一共2个
    A、B引用的“abc”,“de”两个如果用String A = new String("abc")
            String B = new String("de")
       就是四个
      

  7.   

    String A,B,C;//没有创建对象
    A = "abc";  //文字abc就是一个对象,将被放入内存的 “字符串文字pool”
    B = "de";   //同上
    A = new String("abc"); /* 如果“字符串文字pool”中有当前文字abc,则文字abc不创建新对象。new 创建一个文字abc的copy,放入内存的heap中。变量A指向heap中的那个。
    B = new String("defghi"); /*同上,这时就创建了两个对象,文字的在pool中,new出来的在heap中*/
      

  8.   

    所以,楼主的代码创建多少对象与代码的上下文有关(玩笑)。
    1、<=2
    2、<=4认证学习指南中有图解,