zoukankan      html  css  js  c++  java
  • 值传递与引用传递 分类: 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,
     也不会对原来的引用打断,对原来的引用没有影响。但是如果你在方法里面 使用 复制的引用类操作实例,
     注意因为两个引用都指向同一实例,所以任何对一个得操作,都会影响。

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

  • 相关阅读:
    如何使用Linux命令实时查看最新的日志信息
    什么是缺陷(bug)
    APP 崩溃测试点小结
    软件测试之权限测试
    web安全测试之 xss攻击
    URL详谈
    随机生成名字或短句代码机
    JAVA环境变量配置
    Properties类与读取properties文件
    JAVA 打印九九乘法表
  • 原文地址:https://www.cnblogs.com/configman/p/4657640.html
Copyright © 2011-2022 走看看