zoukankan      html  css  js  c++  java
  • java的参数传递

    1按值传递:传递的是原始值的副本,而不是原始值的内存地址

         基本数据类型是传原始值的副本

    class Test02
    
      {
    
      public static void main(String[] args)
    
      {
    
      int i=5;
    
      int i2=i;
    
      i2=6;
    
      System.out.println(i);
    
      }
    
      }

    输出结果是5

    2按引用传递;传递的是原始值的内存地址,而不是原始值的副本

        对象类型传的是原始值的引用

    class Test01
    
      {
    
      public static void main(String[] args)
    
      {
    
      StringBuffer s= new StringBuffer("good");
    
      StringBuffer s2=s;
    
      s2.append(" afternoon.");
    
      System.out.println(s);
    
      }
    
      }

    输出结果是:good afernoon

    3.String类型因为没有提供自身修改的函数,每次操作都是新生成一个String对象,所以要特殊对待。可以认为是传值。

      创建一个String,内部操作是

        1先在常量池查找有无该原始值 无则创建

        2在堆中创建一个该原始值的对象

        3将堆中该对象的引用传给变量

      当修改Strng对象的值时,内部操作是

        1先在常量池查找有无该原始值 无则创建

        2将常量池中该对象的引用传给变量

  • 相关阅读:
    HTTP 缓存图解
    http协议构成整理
    HTTP2.0
    Event Loop
    斐波那契数列
    归并排序
    快速排序
    史上最全前端资源
    Js 将 Date 转化为指定格式的String
    vue-cli webpack全局引入jquery
  • 原文地址:https://www.cnblogs.com/YangJM/p/7541504.html
Copyright © 2011-2022 走看看