方法传递参数的分类

Posted erlang-sh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了方法传递参数的分类相关的知识,希望对你有一定的参考价值。

方法传递参数的分类

1.基本数据类型

2.引用数据类型

package com.erlang.idea;
//Java程序默认导入java.lang包下的所有类。

public class ScannerTest {
    public static void main(String[] args) {
        int number = 10;
        System.out.println("调用change方法前:"+number);//16
        change(number);
        System.out.println("调用change方法前:"+number);//16
    }

    public static void change(int number) {
        number = 18 ;
    }
}
    

1.1基本数据类型的参数,形式参数的改变,不影响实际参数

依据:每个方法在栈内存中,都会有独立的栈空间,方法运行结束后就会弹栈消失

package com.erlang.idea;
//Java程序默认导入java.lang包下的所有类。

public class DataTypeTest {
    public static void main(String[] args) {
        int[] arr = {1,2,3};
        System.out.println("调用change方法前:"+arr[1]);//2
        change(arr);
        System.out.println("调用change方法前:"+arr[1]);//18
    }

    public static void change(int[] arr) {
        arr[1] = 18 ;
    }
}
    

2.1对于引用类型的参数,形式参数的改变,影响实际参数的值

依据:引用数据类型的传参,传入的是地址值,内存中会造成两个引用指向同一个内存的效果,所以即使方法弹栈,堆内存中的数据也已经是改变后的结果

以上是关于方法传递参数的分类的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin - 如何将空值传递给片段 newInstance 方法?

在 Android Dialogfragment show() 方法 TAG 参数中传递啥

将变量传递给现代中继中的片段容器

3.给只读动画添加事件

将接口从片段传递到kotlin中的活动

如何使用底部导航视图和 Android 导航组件将参数传递给片段?