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

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

  • 相关阅读:
    java保留字
    12个不可不知的Sublime Text应用技巧和诀窍
    人生准则
    基于Android 的蓝牙A2DP 功能的实现
    蓝牙协议栈详解
    我的2015计划
    今日学习
    滤波器介绍
    STLINK V2安装使用详解
    javascript闭包
  • 原文地址:https://www.cnblogs.com/configman/p/4657640.html
Copyright © 2011-2022 走看看