Skip to content

传参机制

  1. 在 Java 中,方法的所有参数都是 “值传递”,也就是说,方法外部向方法内传参时,传递的是原数据的副本。这样做的好处是无论方法内不如何改变参数的值,方法外部的数据是不受影响的,引用类型除外。
  2. 引用类型参数传值时,传的是对象的地址,方法内部和外部所使用的是同一个对象,所以在方法内部改变对象的值的时候会影响方法外面的数据。

普通类型参数

java
public class Index {
    public static void main(String[] args) {
        Test obj = new Test();
        int number = 40;
        obj.computed(number);
        System.out.printf("方法外部:%d\n",number);
    }
}

class Test {
    public void computed(int number) {
        number += 10;
        System.out.printf("方法内部:%d\n",number);
    }
}

引用类型参数

java
public class Index {
    public static void main(String[] args) {
        Student stu = new Student("张三");
        stu.changeObject(stu);
        System.out.printf("方法外部:%s\n",stu.name);
    }
}

class Student {
    String name;

    public Student(String name) {
        this.name = name;
    }

    public void changeObject(Student obj) {
        obj.name = "李四";
        System.out.printf("方法内部:%s\n",obj.name);
    }
}

基于 MIT 许可发布