java中传值、传址问题解析

295 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第6天,点击查看活动详情

📖个人介绍

大家好我是:Zinksl

认真分享技术,记录学习点滴 如果分享对你有用请支持我哦🍺

点赞:👍 留言:✍收藏:⭐️ 个人格言: 想法落实的最佳时机就是现在!🏄


java的值传递与址传递

问题:在java中方法传参到底是值传递还是址传递?

答:java参数传递问题需要分情况讨论: 1 传递的参数为基本类型,则是值传递; 2 传参为引用类型参数,就是址传递;

1 基本数据类型

案例1:【问:num1的值会不会变? 答:不会】

  public static void main(String[] args) {
        int num1 = 100; //定义变量num1
        test1(num1);    //把num1,作为参数传给test1方法
        System.out.println(num1);
    }
    public static int test1(int num1){
        return num1 = 200; //在test1方法中,给num1重新赋值
    }

基本数据类型作为参数的内存图解:

2 引用类型数据

案例1:【问:num1的值会不会变? 答:会】

  public static void main(String[] args) {
        int [] num1 = {10,11}; //定义数组num1
        test1(num1);    //把num1地址,作为参数传给test1方法
        System.out.println(num1[0]);
    }
    public static int test1(int [] num1){
        return num1[0] = 200; //在test1方法中,给num1[0]重新赋值
    }

引用类型数据作为参数的内存图解:

3 方法重载的概念:

同一个类中,方法名相同,但是参数不同(类型、数量、顺序)的函数就叫方法重载,

与返回值等其他值无关;

结语

大佬请留步在这里插入图片描述既然看到这了不如点个赞👍再走吧

本文目的在于分享技术以及在学习过程中个人记得需要注意的点,记录学习过程; 如果出现错误欢迎大家指正,如有意见或建议欢迎在评论区讨论