当前位置: 代码迷 >> Eclipse >> 一道简单的java面试题解决方案
  详细解决方案

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

热度:8   发布时间:2016-04-23 13:56:49.0
一道简单的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);
  相关解决方案