java中的参数传递类型

7kqas0il  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(350)

此问题已在此处找到答案

java是“按引用传递”还是“按值传递”((89个答案)
7小时前关门了。
代码如下。我只是想知道当我调用changename时,changename中的参数传递类型是值传递还是引用传递。

public class Test {
    public static void main(String[] args) {
        Test test = new Test();
        Student student = new Student();
        student.setName("Mike");
        System.out.println("Before calling changeName:" + student.toString());
        test.changeName(student);
        System.out.println("After calling changeName:" + student.toString());
    }

    public void changeName(Student s){
        s.setName("Alice");
    }
}

class Student{
    String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "{" +
                "name='" + name + '\'' +
                '}';
    }
}
egmofgnx

egmofgnx1#

答案是价值传递。事实上,java编程语言中没有引用传递的概念。不要被c++误解。这里传递的值是对象的地址。

相关问题