java如何使用一个或多个类方法设置多个类字段,而这些类方法并不专门引用任何字段?
我想知道如何或是否可以使用一个或多个类方法设置多个类字段,这些类方法不专门引用任何字段?。我举了我能想到的最简单的例子
我很抱歉,如果这是一个非常明显的问题,已经得到了回答。我发现有几个问题看起来很相似,但它们涉及好几门课,令人困惑。我认为有这个问题是有益的,而且可能很容易回答
public class MyClass {
private String str = "hello";
private String str2 = "ciao";
private String str3 = "hola";
public void changeSomeString(){
changeString(str);
}
private void changeString(String s){
s = "goodbye";
}
public void changeSpecificString(){
str = "goodbye";
}
public void printString(){
System.out.println(str);
}
public static void main(String args[]) {
MyClass a = new MyClass();
a.printString();
a.changeSomeString();
a.printString();
a.changeSpecificString();
a.printString();
}
}
我不能说我期待,但我想要
hello
goodbye
goodbye
我收到了
hello
hello
goodbye
# 1 楼答案
这是因为Java方法参数对象引用。您正在将changeString(str)中字符串s的值从hello更改为再见,但str的值仍然保持不变