当前位置:首页 > Java

java 如何传值

2026-03-25 17:24:13Java

传值方式概述

在Java中,传值方式分为基本数据类型传值引用类型传值两种。基本数据类型(如intdouble等)直接传递值的副本,而引用类型(如对象、数组)传递的是引用的副本,实际对象内容可能被修改。

基本数据类型传值

基本数据类型通过值传递(Pass by Value),方法内修改不影响原始变量。

public class Main {
    static void modifyValue(int x) {
        x = 20; // 修改副本,不影响原始值
    }
    public static void main(String[] args) {
        int num = 10;
        modifyValue(num);
        System.out.println(num); // 输出: 10
    }
}

引用类型传值

引用类型传递的是引用的副本,但指向同一对象,方法内修改对象属性会影响原始对象。

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

public class Main {
    static void modifyObject(Person p) {
        p.name = "Alice"; // 修改对象属性
    }
    public static void main(String[] args) {
        Person person = new Person("Bob");
        modifyObject(person);
        System.out.println(person.name); // 输出: Alice
    }
}

数组传值

数组作为引用类型,方法内修改元素会影响原始数组。

public class Main {
    static void modifyArray(int[] arr) {
        arr[0] = 100; // 修改数组元素
    }
    public static void main(String[] args) {
        int[] nums = {1, 2, 3};
        modifyArray(nums);
        System.out.println(nums[0]); // 输出: 100
    }
}

不可变对象的特殊性

String等不可变对象虽为引用类型,但修改时会创建新对象,原始引用不变。

java  如何传值

public class Main {
    static void modifyString(String s) {
        s = "New String"; // 新对象,不影响原始引用
    }
    public static void main(String[] args) {
        String str = "Original";
        modifyString(str);
        System.out.println(str); // 输出: Original
    }
}

总结

  • 基本类型:传递值的副本,方法内修改不影响原始变量。
  • 引用类型:传递引用的副本,方法内修改对象属性会影响原始对象。
  • 不可变对象(如String):行为类似基本类型,因修改会创建新对象。

标签: java
分享给朋友:

相关文章

java如何

java如何

Java 基础语法 Java 是一种面向对象的编程语言,语法相对严谨。每个 Java 程序必须包含一个 main 方法作为程序入口。以下是一个简单的 Java 程序示例: public class…

如何自学java

如何自学java

选择合适的学习资源 从官方文档开始,Oracle提供的Java官方教程(Java Tutorials)是权威且免费的学习资料。在线平台如Codecademy、Coursera或Udemy提供互动式课程…

java如何实现多继承

java如何实现多继承

在Java中,由于语言设计本身不支持多继承(即一个类不能直接继承多个父类),但可以通过以下方式间接实现类似多继承的效果: 使用接口实现多继承 接口允许一个类实现多个接口,从而继承多个抽象行为。接口中…

php 实现java md5加密

php 实现java md5加密

PHP 实现 Java MD5 加密的兼容方法 Java 和 PHP 的 MD5 加密结果可能存在差异,主要因字符编码或输出格式不同。以下是确保两者结果一致的方法: 使用 hash 函数并处理编码…

java实现js

java实现js

Java 实现 JavaScript 功能 在 Java 中实现 JavaScript 功能通常涉及以下几种方法: 使用 ScriptEngine Java 提供了 javax.script 包,可…

如何查看java版本

如何查看java版本

查看Java版本的命令行方法 在终端或命令提示符中运行以下命令,可以快速查看已安装的Java版本: java -version 输出示例: java version "17.0.1" 20…