欢迎访问宙启技术站
智能推送

Java函数的参数传递方式与使用示例

发布时间:2023-06-19 00:50:05

Java中的参数传递方式共有两种:值传递和引用传递。在本文中,我们将介绍这两种参数传递方式,并通过示例代码来展示它们的使用。

一、值传递

1. 概述:

值传递是指将实参的值复制一份传递给形参,形参的改变不会影响实参的值。 Java中,基本数据类型和字符串类型的参数传递方式都是值传递。

2. 示例:

以下示例展示了值传递的使用方式:

//定义一个方法,参数为int类型

public static void add(int a){

    a++;

    System.out.println("方法内a值为:" + a);

}

public static void main(String[] args) {

    int a = 10;

    add(a);

    System.out.println("方法外a值为:" + a);

}

输出结果为:

方法内a值为:11

方法外a值为:10

从上述代码中可以看出,add方法内部对形参a的值进行了修改,但是在方法外部,a的值仍然是原来的10,说明值传递不会修改原始值。

二、引用传递

1. 概述:

引用传递是指将实参的地址传递给形参,形参对实参进行修改会影响实参的值。在Java中,除了基本数据类型和字符串类型之外的所有类型都是引用类型。

2. 示例:

以下示例展示了引用传递的使用方式:

class Person{

    public int age;

    public String name;

}

public class Main {

    //定义一个方法,参数为Person类型

    public static void changePerson(Person p){

        p.age = 20;

        p.name = "张三";

        System.out.println("方法内p值为:" + p.age + " " + p.name);

    }

    public static void main(String[] args) {

        Person p = new Person();

        p.age = 10;

        p.name = "李四";

        changePerson(p);

        System.out.println("方法外p值为:" + p.age + " " + p.name);

    }

}

输出结果为:

方法内p值为:20 张三

方法外p值为:20 张三

从上述代码中可以看出,changePerson方法内部对形参p的值进行了修改,同时实参p的值也被修改了,说明引用传递可以修改原始值。

总结:

在Java中,参数传递方式一定要根据实际情况选择合适的方式。如果是基本数据类型或字符串类型,就应该选择值传递;如果是复杂对象类型,就应该选择引用传递。在使用过程中,要清楚两种传递方式的特点,避免出现不必要的错漏。