为什么 setWav 不改变 wav + ""+ "Grapes"
中的 wav
?如果我想让它输出 Oranges,我是否必须为 add 创建一个 set 方法?葡萄
?
编辑:感谢大家的帮助,非常感谢。
package javaapplication1;
public class JavaApplication1 {
public static void main(String[] args)
{
NewClass object1 = new NewClass();
System.out.println(object1.getAdd());
object1.setWav("Oranges?");
System.out.println(object1.getAdd());
}
}
输出:
Burgers Grapes
Burgers Grapes
package javaapplication1;
public class NewClass
{
private String wav;
private String add;
public NewClass()
{
wav = "Burgers";
add = wav + " " + "Grapes";
}
public void setWav(String wav)
{
this.wav = wav;
}
public String getWav()
{
return wav;
}
public String getAdd()
{
return add;
}
}
最佳答案
您的 getAdd
方法返回 add
。您在 NewClass
构造函数中设置了 add
的值,但在其他任何地方都没有设置,因此即使您更改 wav
(这两个变量不是以任何方式相关,更改一个不会影响另一个)。你可以试试这个:
public void setWav(String wav) {
this.wav = wav;
add = wav + " " + "Grapes"; // i.e. add = wav + " Grapes";
}
关于java - 如何更改包含已更改实例变量的实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12486038/