填空题 2.  下面程序的运行结果是______。
    public class Test
    {
    public static void main(String args[])
    {
    String str1="Hello";
    String str2="world";
    System.out.println(new Str(str1,str2));
    System.out.println(str2);
    }
    }
    class Str
    {
    String s1;
    String s2;
    Str(String str1,String str2)
    {
    S1=str1;
    s2=str2;
    str2+=str1;
    }
    public String toString()    {  return s1+s2;  }
    }
  • 1、
【正确答案】 1、Hello world
   world    
【答案解析】 本题中,在调用new Str(str1,str2)的时候,初始化了一个临时的Str的实例(s1="Hello!",s2="world"),当调用System.out.println方法输出这个对象的时候,会调用这个对象的toString方法,返回s1+s2,显然,返回值为Hello world。在这个过程中,str2的值被初始化以后就没有被修改过,因此,接下来输出str2的值:world。