读书人

一道简单的java面试题解决方案

发布时间: 2012-01-24 23:11:54 作者: rapoo

一道简单的java面试题
1.下面代码运行的结果是( )
public class Ceshi{
public String str = “”;
public Ceshi objCeshi;

public Ceshi(String str2){
this.str = str2;
}
public getString(String str3){
objCeshi = new Ceshi(str3);
}
public static void main(String[] args){
Ceshi obj = new Ceshi(“hello”);
Obj.getString(“word”);
System.out.println(obj.str);
}
}
A.hello
B.helloword
C.word
D.wordhello


本人菜鸟,有高手帮我解答下为什么吗?能详细点当然最好


[解决办法]
A
getString()创建了objCeshi,将word赋值给了str,可是这个str是对象objCeshi的,并不是obj的str。你可以把System.out.println(objCeshi.str);放到getString()或许你能明白点。
[解决办法]

Java code
public class Ceshi{    public String str = "";    public Ceshi objCeshi;//声明了一个实例未初始化    public Ceshi(String str2)    {        this.str = str2;    }    public void getString(String str3)    {        objCeshi = new Ceshi(str3);//在这里初始化    }    public static void main(String[] args)    {        Ceshi obj = new Ceshi("hello");        obj.getString("word");//在这里初始化objCeshi        System.out.println(obj.str);//这里的obj还是外层Ceshi的实例 由于str是public的所以输出时hello    }}
[解决办法]
Java code
System.out.println(obj.objCeshi.str); 

读书人网 >Eclipse开发

热点推荐