Java 方法中参数传递值时的实际操作是什么?

java方法中参数传递值时按值传递基本类型(如int),按引用传递引用类型(如对象和数组)。若按值传递,修改方法中副本的值不影响原始值;若按引用传递,修改方法中引用对象的值会影响原始对象。

Java 方法中参数传递值时的实际操作是什么?

Java 方法中参数传递值时的实际操作

Java 方法中,参数传递值时发生了以下实际操作:

按值传递:

当值类型(int、double 等)作为参数传递时,会创建实际值的副本并将其传递给方法。这意味着对方法中副本的更改不会影响调用方法中的原始值。

示例:

public class ValuePassExample {

    public static void main(String[] args) {
        int n = 10;
        increment(n);
        System.out.println(n); // 输出: 10
    }

    public static void increment(int n) {
        n++;
    }
}

按引用传递:

当引用类型(对象和数组)作为参数传递时,传递的是原始值的引用(内存地址)。这意味着对方法中引用对象的更改将反映在调用方法中的原始对象中。

示例:

public class RefPassExample {

    public static void main(String[] args) {
        Person p = new Person("John");
        changeName(p);
        System.out.println(p.getName()); // 输出: Alice
    }

    public static void changeName(Person p) {
        p.setName("Alice");
    }

    private static class Person {
        private String name;

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

        public String getName() {
            return name;
        }

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

以上就是Java 方法中参数传递值时的实际操作是什么?的详细内容,更多请关注其它相关文章!