有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    这是因为Java方法参数对象引用。您正在将changeString(str)中字符串s的值从hello更改为再见,但str的值仍然保持不变