Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java值传递和引用传递

作者:千山暮雪ミ   发布日期:2025-03-26   浏览:60

// Java值传递示例
public class ValuePassingExample {
    public static void main(String[] args) {
        int num = 10;
        System.out.println("Before method call: " + num); // 输出: Before method call: 10
        changeValue(num);
        System.out.println("After method call: " + num); // 输出: After method call: 10
    }

    public static void changeValue(int num) {
        num = 20;
        System.out.println("Inside method: " + num); // 输出: Inside method: 20
    }
}

// Java引用传递示例
class ReferencePassingExample {
    public static void main(String[] args) {
        Person person = new Person("Alice");
        System.out.println("Before method call: " + person.name); // 输出: Before method call: Alice
        changeName(person);
        System.out.println("After method call: " + person.name); // 输出: After method call: Bob
    }

    public static void changeName(Person person) {
        person.name = "Bob";
        System.out.println("Inside method: " + person.name); // 输出: Inside method: Bob
    }
}

class Person {
    String name;

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

解释说明

  1. 值传递示例 (ValuePassingExample):

    • 在这个例子中,num 是一个基本数据类型(int)。当我们将 num 作为参数传递给 changeValue 方法时,实际上是传递了 num 的副本。因此,在方法内部对 num 的修改不会影响原始变量的值。
  2. 引用传递示例 (ReferencePassingExample):

    • 在这个例子中,person 是一个对象引用。当我们传递 personchangeName 方法时,传递的是对象引用的副本。这意味着在方法内部对对象属性的修改会反映到原始对象上,因为它们指向同一个对象实例。

Java 中所有的参数传递都是按值传递,但对于对象引用来说,传递的是引用的副本,因此可以修改对象的内容。

上一篇:java调用第三方接口

下一篇:windows查看java进程

大家都在看

java连接数据库的代码

ubuntu 卸载java

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java 时间加一天

java demo

java 截取

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站