填空题
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、Hello world
world
【答案解析】 本题中,在调用new Str(str1,str2)的时候,初始化了一个临时的Str的实例(s1="Hello!",s2="world"),当调用System.out.println方法输出这个对象的时候,会调用这个对象的toString方法,返回s1+s2,显然,返回值为Hello world。在这个过程中,str2的值被初始化以后就没有被修改过,因此,接下来输出str2的值:world。