当前位置:首页 > Java

java 如何传值

2026-04-09 05:49:29Java

基本数据类型传值

在Java中,基本数据类型(如intdoublechar等)通过值传递(Pass by Value)。方法调用时,实际参数的值会被复制一份传递给形式参数,修改形式参数不会影响原始变量。

java 如何传值

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

对象类型传值

对象类型(如数组、类实例)通过引用传递的副本(Pass by Reference Value)。形式参数接收到的是对象引用的副本,两者指向同一对象。通过引用修改对象属性会影响原始对象,但重新赋值引用不会影响原始引用。

java 如何传值

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"
}

数组传值

数组作为对象类型,行为与对象一致。方法内修改数组元素会影响原始数组,但重新分配数组引用不会影响原始引用。

void modifyArray(int[] arr) {
    arr[0] = 99; // 修改元素,影响原始数组
    arr = new int[]{1, 2, 3}; // 重新分配引用,不影响原始引用
}
public static void main(String[] args) {
    int[] nums = {10, 20, 30};
    modifyArray(nums);
    System.out.println(nums[0]); // 输出99
}

不可变对象传值

对于StringInteger等不可变类,方法内修改会创建新对象,原始引用保持不变。

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

总结

  • 基本类型:传递值的副本,原始值不受影响。
  • 对象类型:传递引用的副本,修改对象属性会影响原始对象,但重新赋值引用不影响原始引用。
  • 不可变对象:行为类似基本类型,原始引用不变。

标签: java
分享给朋友:

相关文章

java前景如何

java前景如何

Java 当前的市场需求 Java 在企业级开发、大数据、云计算等领域仍占据重要地位。许多大型企业(如银行、电商平台)依赖 Java 构建后端系统。招聘平台数据显示,Java 开发岗位数量稳定,尤其在…

java如何配置环境变量

java如何配置环境变量

配置Java环境变量的方法 下载并安装JDK 从Oracle官网或OpenJDK下载适合操作系统的JDK安装包。运行安装程序并按照提示完成安装,记下JDK的安装路径(例如C:\Program File…

java如何避免死锁

java如何避免死锁

避免死锁的方法 固定顺序获取锁 确保所有线程按照相同的顺序获取多个锁。例如,若需要获取锁A和锁B,所有线程必须先获取A再获取B,避免交叉依赖导致的死锁。这种方式破坏了“循环等待”条件。 使用锁超时机…

java如何连接mysql数据库

java如何连接mysql数据库

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

如何启用java

如何启用java

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

java如何创建测试类

java如何创建测试类

创建测试类的基本步骤 在Java中创建测试类通常使用JUnit框架,以下是具体方法: 安装JUnit依赖 对于Maven项目,在pom.xml中添加依赖: <dependency>…