当前位置:首页 > Java

java 如何传值

2026-02-04 21:31:34Java

传值方式概述

Java中的传值方式主要分为基本数据类型传值和引用类型传值。基本数据类型传递的是值的副本,而引用类型传递的是对象引用的副本。

基本数据类型传值

基本数据类型(如int、double、char等)在方法调用时传递的是值的副本。修改副本不会影响原始变量。

示例代码:

public class PassByValue {
    public static void modifyValue(int num) {
        num = 20;
    }

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

引用类型传值

引用类型(如对象、数组)传递的是对象引用的副本。虽然引用本身是副本,但指向的对象是同一个,因此通过引用修改对象会影响原始对象。

示例代码:

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

    public static void modifyPerson(Person p) {
        p.name = "Modified";
    }

    public static void main(String[] args) {
        Person originalPerson = new Person("Original");
        modifyPerson(originalPerson);
        System.out.println(originalPerson.name); // 输出Modified
    }
}

数组传值

数组作为引用类型,传递的是数组引用的副本。通过副本引用可以修改数组内容。

示例代码:

public class PassArray {
    public static void modifyArray(int[] arr) {
        arr[0] = 100;
    }

    public static void main(String[] args) {
        int[] originalArray = {1, 2, 3};
        modifyArray(originalArray);
        System.out.println(originalArray[0]); // 输出100
    }
}

不可变对象传值

对于String等不可变对象,传递的是引用的副本。但由于对象不可变,任何修改都会创建新对象,不影响原始引用。

示例代码:

java 如何传值

public class PassString {
    public static void modifyString(String str) {
        str = "Modified";
    }

    public static void main(String[] args) {
        String originalStr = "Original";
        modifyString(originalStr);
        System.out.println(originalStr); // 输出Original
    }
}

总结

  • 基本数据类型:传递值副本,原始值不受影响
  • 引用类型:传递引用副本,可通过引用修改对象
  • 不可变对象:传递引用副本,但修改会创建新对象

标签: java
分享给朋友:

相关文章

java如何输入

java如何输入

使用Scanner类进行输入 Scanner类是Java中最常用的输入工具,适用于从控制台或文件读取数据。需要导入java.util.Scanner包。 基本语法: Scanner sca…

如何运行java文件

如何运行java文件

运行Java文件的方法 确保已安装Java Development Kit (JDK),可通过命令行输入java -version和javac -version验证安装。 编写Java代码并保存为.…

java如何创建对象

java如何创建对象

创建对象的基本方法 在Java中,创建对象主要通过new关键字调用构造函数完成。基本语法为: ClassName objectName = new ClassName(); 例如创建String对象…

java如何实现异步

java如何实现异步

Java实现异步的方法 Java中实现异步编程可以通过多种方式,每种方式适用于不同的场景和需求。以下是常见的实现方法: 使用Thread类 创建新线程执行异步任务是最基础的方式。通过继承Thread…

如何选择java培训

如何选择java培训

评估培训机构资质 选择有正规资质的机构,查看其营业执照、办学许可证等。优先考虑具备人力资源和社会保障部或教育部认证的机构,这类机构的教学质量和课程设置通常更规范。 考察课程内容与行业需求匹配度…

java如何调试

java如何调试

调试Java程序的基本方法 使用IDE内置的调试工具(如IntelliJ IDEA或Eclipse)是最常见的方式。在代码行号旁点击设置断点,启动调试模式后,程序会在断点处暂停,允许查看变量值、调用栈…