• 参数传值机制


    Java中,方法中所有参数都是“值传递”,也就是“传递的是值的副本”。 也就是说,我们得到的是“原参数的复印件,而不是原件”。因此,复印件改变不会影响原件。

    · 基本数据类型参数的传值

      传递的是值的副本。 副本改变不会影响原件。

    · 引用类型参数的传值

      传递的是值的副本。但是引用类型指的是“对象的地址”。因此,副本和原参数都指向了同一个“地址”,改变“副本指向地址对象的值,也意味着原参数指向对象的值也发生了改变”。

    【示例4-12】 多个变量指向同一个对象

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    /**
     * 测试参数传值机制
     *
     */
    public class User4 {
        int id;        //id
        String name;   //账户名
        String pwd;   //密码
           
        public User4(int id, String name) {
            this.id = id;
            this.name = name;
        }
          
        public   void   testParameterTransfer01(User4  u){
            u.name="高小八";
        }
         
        public   void   testParameterTransfer02(User4  u){
            u  =  new  User4(200,"高三");
        }
          
        public static void main(String[] args) {
            User4   u1  =  new User4(100, "高小七");
             
            u1.testParameterTransfer01(u1); 
            System.out.println(u1.name);
     
            u1.testParameterTransfer02(u1);
            System.out.println(u1.name);
        }
    }

      执行结果如图4-12所示。

    image.png

    图4-12 示例4-12的运行结果

  • 相关阅读:
    堆排序
    append、appendTo、prepend、prependTo、before、insertBefore、after、insertAfter、replaceAll方法被调用后,原本在页面上显示的元素会消失
    jQuery中的 $.ajax的一些方法
    attr VS prop 区别
    Canvas---clearRect()清除圆形区域
    HTML5 FormData方法介绍
    MongoDB学习笔记——数据库的创建与初始
    es6学习---.babelrc文件
    【转载】基于webpack构建react项目
    node常用模块---path
  • 原文地址:https://www.cnblogs.com/huaxiansheng/p/15310540.html
Copyright © 2020-2023  润新知