当前位置:首页 > Java

java 如何 传值

2026-03-23 00:23:49Java

Java 传值机制详解

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

基本数据类型的传值

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

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)虽然是引用类型,但其不可变性导致表现类似基本类型。

java 如何 传值

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是一种面向对象的编程语言,广泛应用于企业级开发、移动应用(Android)等领域。以下是Java编程的核心步骤和示例。 环境搭建 安装JDK 从Oracle官网下载适合…

java如何创建对象

java如何创建对象

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

如何安装java环境

如何安装java环境

下载JDK安装包 访问Oracle官方网站或OpenJDK项目页面,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。确保下载与系统架构匹配的版本(32位或64位)。 运行安…

java如何创建包

java如何创建包

创建Java包的步骤 在Java中,包(package)用于组织和管理类文件,避免命名冲突。以下是创建Java包的详细方法: 定义包名 在Java源文件的开头使用package关键字声明包名。包名…

java如何生成随机数

java如何生成随机数

生成随机数的方法 在Java中生成随机数可以通过多种方式实现,以下是几种常见的方法: 使用Math.random()方法 Math.random()方法返回一个double类型的伪随机数,范围在[0…

java js实现转盘抽奖

java js实现转盘抽奖

实现转盘抽奖的步骤 HTML结构 创建转盘抽奖的基本HTML结构,包括转盘区域和抽奖按钮。 <div id="wheel"> <canvas id="wheelCanv…