public class test
{public static void main(String args[])
{
String a="yes";
a="good";
System.out.println(a);

}

解决方案 »

  1.   

    ??你重复对a赋值 当然是good 你想输出社么?
      

  2.   

    String型的对象都是final的,看一下基础书里面都有介绍的!
      

  3.   

    毫无疑问是good,因为后一次赋值替换调前一次变量的值
      

  4.   

    楼主是想听夸奖吧,因为一般人都会回复“good”,哈哈
      

  5.   

    它打印出第二次赋的值:good。
    第一个字符串被当作garbge回收了。
    这样的回答满意吗??
      

  6.   

    String型的对象都是final的,看一下基础书里面都有介绍的!
    ?????????????
      

  7.   

    是 final 也能 重新申请地址啊
      

  8.   

    直接用""把一个字符串给一个变量,这个值是来自字符池的.
    按此想法,如果String a="AA"; String b="AA";System.out.println(a==b);应该是输出true吧;
    String a="AA";String b=new String("AA");System.out.println(a==b);应该输出false吧;
    最主要是应该理解这个final.....应该是说它的值不可变吧,而不是这个引用变量不可用.不知道对否