当前位置: 首页 > 图灵资讯 > 技术篇> java中是引用传递还是值传递

java中是引用传递还是值传递

来源:图灵教育
时间:2024-12-11 13:43:34
java 中基本类型(如 int)是值传递的,意味着它们的值在函数调用中被复制;对象(如数组)是引用传递的,意味着它们传递的是对对象的引用,在函数中修改对象的内容将反映在函数外部的原始对象中。

java中是引用传递还是值传递

Java 中是引用传递还是值传递?

值传递

Java 中基本类型(如 int、long、float、double、boolean)是值传递的,这意味着它们的值在函数调用中会被复制。这意味着在函数中对基本类型变量所做的任何更改都不会影响函数外部的原始变量。

引用传递

立即学习“Java免费学习笔记(深入)”;

另一方面,Java 中对象(包括数组)是引用传递的,这意味着它们在函数调用中传递的是对对象的引用。

当引用传递一个对象时,函数可以修改对象的成员变量或方法,这些更改将反映在函数外部的原始对象中。

举例说明

值传递示例:

public static void changePrimitive(int value) {
    value++;  // 值被复制,不会修改原始变量
}

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

引用传递示例:

public static void changeObject(Person person) {
    person.setName("John");  // 修改对象成员变量
}

public static void main(String[] args) {
    Person person = new Person("Jane");
    changeObject(person);
    System.out.println(person.getName());  // 输出 "John"
}

以上就是java中是引用传递还是值传递的详细内容,更多请关注图灵教育其它相关文章!