JAVA:教材上的一道题,我有些不明白,谁能帮我看看,跪谢~~

来源:百度知道 编辑:UC知道 时间:2024/06/18 07:32:47
class XiyoujiRenwu
{
float head;
void speak(String s)
{head="歪着头";
System.out.println(s);
}

}
class Example
{public static void main(String args[])
{XiyoujiRenwu zhubajie;
zhubajie=new XiyoujiRenwu();
zhubajie.head="大头";

zhubajie.speak("俺想娶媳妇");
System.out.println("zhubajie现在的头:"+zhubajie.head);
}

}

我已经把对象猪八戒中的head赋值为大头了

可最后打出的却是歪着头,这是为什么呢?

书上是这么说的:类中的方法可以操作成员变量,当对象调用该方法时,方法中出现的变量,就是指该对象中的成员变量..
可speak中的head和对象zhubajie中的head是两个不同的存储空间啊

在speak方法中不是又为head重新赋值了嘛,你调用speak的时候head的值已经不是大头了

void speak(String s)
{head="歪着头";
System.out.println(s);
}

这里有保head改成歪着头了。

另外
float head; ??
应该是String head吧?