当前位置:首页 > Java

java 如何 传值

2026-03-23 00:23:49Java

Java 传值机制详解

Java 中的传值机制严格遵循按值传递原则,但具体表现因数据类型(基本类型或引用类型)而异。以下是具体分析:

java 如何 传值

基本数据类型的传值

基本类型(如 int, double, char 等)直接传递值的副本,修改副本不会影响原始变量。

java 如何 传值

void modifyValue(int x) {
    x = 10; // 修改的是副本
}
public static void main(String[] args) {
    int num = 5;
    modifyValue(num);
    System.out.println(num); // 输出 5(原值未变)
}

引用数据类型的传值

对象类型(如数组、类实例)传递的是引用的副本(即内存地址的副本),通过副本仍可修改原对象内容,但无法修改原引用本身。

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

void modifyObject(Person p) {
    p.name = "Alice"; // 修改原对象内容
    p = new Person("Bob"); // 修改副本引用(不影响原引用)
}

public static void main(String[] args) {
    Person person = new Person("John");
    modifyObject(person);
    System.out.println(person.name); // 输出 "Alice"(原对象内容被修改)
}

特殊案例:String 和包装类

String 和包装类(如 Integer, Double)虽然是引用类型,但其不可变性导致表现类似基本类型。

void modifyString(String s) {
    s = "new string"; // 创建新对象,原引用不变
}

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

关键总结

  • 基本类型:传递值的副本,原值不受影响。
  • 引用类型:传递引用的副本,可修改原对象内容,但无法重定向原引用。
  • 不可变对象:行为类似基本类型,因无法修改原内容。

标签: java传值
分享给朋友:

相关文章

如何运行java

如何运行java

运行Java程序的方法 安装Java开发工具包(JDK) 确保系统已安装JDK。可通过命令行输入 java -version 检查是否安装。若未安装,需从Oracle官网或OpenJDK下载并配置环境…

java如何上传文件

java如何上传文件

使用HttpURLConnection上传文件 在Java中,可以通过HttpURLConnection实现文件上传功能。需要设置请求头为multipart/form-data,并构建包含文件数据的请…

java如何运行程序

java如何运行程序

运行Java程序的步骤 安装Java开发工具包(JDK) 确保系统已安装JDK,可通过命令行输入java -version和javac -version验证。若未安装,需从Oracle官网下载并配置环…

java如何打印数组

java如何打印数组

打印数组的方法 在Java中,打印数组有多种方式,以下是几种常见的方法: 使用Arrays.toString()方法 这种方法适用于一维数组,可以快速将数组转换为字符串形式输出: int[] a…

java如何连接mysql数据库

java如何连接mysql数据库

连接 MySQL 数据库的步骤 添加 MySQL 驱动依赖 在项目中引入 MySQL 的 JDBC 驱动。如果使用 Maven,可以在 pom.xml 中添加以下依赖: <dependency…

如何启用java

如何启用java

启用 Java 的方法 检查 Java 是否已安装 在命令行或终端输入 java -version,如果显示版本信息,说明 Java 已安装。若未安装,需从 Oracle 官网 或 OpenJDK 下…