• 值传递与引用传递 分类: java 20091218 21:41 343人阅读 评论(0) 收藏


    import java.util.*;

    public class Test{
     public static void main(String[] args) {
      int a = 0;
      int b = methodA(a);
      System.out.println("a=" + a);//0
      System.out.println("b=" + b);//1
      
      List list=new ArrayList();
      methodList1(list);
      System.out.println("size1="+list.size());//0
      methodList2(list);
      System.out.println("size2="+list.size());//1
     }
     public static int methodA(int a) {
      return ++a;
     }
     public static void methodList1(List list){
      list=null;
     }
     public static void methodList2(List list){
      list.add(null);
     }
    }  
    上面这道题, 方法传参数 两种类型,一种简单类型,一种引用类型
     简单类型你们可能已经明白了 (对于简单类型,参数会复制一值(因为简单类型没有引用的说法),所以方法里面修改的只不过是复制的那一份值)
    对于引用类型 : 传参的时候 会复制一份引用 对于复制的引用 和原来的引用同时指向一个实例,内存区 ,所以方法里面即使给复制的那份设置为null,
     也不会对原来的引用打断,对原来的引用没有影响。但是如果你在方法里面 使用 复制的引用类操作实例,
     注意因为两个引用都指向同一实例,所以任何对一个得操作,都会影响。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    go学习中的零散笔记
    git reset --hard与git reset --soft的区别
    php必学必会
    gdb 解core
    php学习
    高仿京东到家APP引导页炫酷动画效果
    RxHttp
    SVN回滚文件
    遍历枚举
    python3 多线程
  • 原文地址:https://www.cnblogs.com/configman/p/4657640.html
Copyright © 2020-2023  润新知