ShaneJim

记录分享一些自己学习的内容。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

Java 形参 实参
在Java中,形参和实参是两个重要的概念,它们分别指形式参数和实际参数。

  1. 形参:形式参数是在方法定义时用于接收调用该方法时传递的参数。它只在方法内部有效,方法结束后就消失了。
  2. 实参:实际参数是在调用方法时传递给方法的参数,它可以是常量、变量、表达式、或者方法的返回值。

下面是一个简单的Java程序,演示了如何使用形参和实参:

public class ParamExample {
    // 定义一个方法,该方法有一个形式参数
    public static void printMessage(String message) {
        System.out.println(message);
    }
    public static void main(String[] args) {
        // 调用printMessage方法,并传递一个实际参数
        printMessage("Hello, World!");
    }
}

java参数传递

在Java中,实参和形参传递主要有两种方式:按值传递(by value)和按引用传递(by reference)。

  1. 按值传递:

在这种情况下,传递给方法的是参数值的副本。因此,方法内部对参数值的改变不会影响原始值。

public void swap(int a, int b) {
    int temp = a;
    a = b;
    b = temp;
}

public static void main(String[] args) {
    int x = 10;
    int y = 20;
    swap(x, y);
    System.out.println("x = " + x + ", y = " + y); // 输出将会是x = 10, y = 20,因为swap方法内部的改变没有影响到x和y
}
  1. 按引用传递:

在Java中,对象和数组是通过引用传递的。传递的是对象的引用(内存地址),而不是对象本身的值。因此,方法内部的改变会影响原始对象。

public void update(User user, int age) {
    user.setAge(age);
}

public static void main(String[] args) {
    User user = new User("Alice", 25);
    update(user, 30);
    System.out.println(user.getAge()); // 输出将会是30,因为update方法改变了user对象的age属性
}

在上述例子中,User 对象的引用被传递到 update 方法中,所以方法内部的改变会影响到原始的 user 对象。

需要注意的是,基本数据类型(如 int, float, double 等)按值传递,而对象按引用传递。如果希望方法内部的改变不影响原始对象,可以在方法内部创建对象的新实例并修改它,然后返回新实例。这种情况下,虽然传递的是引用,但是方法内部操作的是新创建的对象,不会影响原始对象。

posted on 2024-05-23 21:38  ShaneJim  阅读(10)  评论(0编辑  收藏  举报