A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

基本类型:形式参数的改变不影响实际参数
引用类型:形式参数的改变影响实际参数的改变。
求视频以为的例子来证实这个观点

12 个回复

正序浏览
恩恩!懂了!谢谢啊!
回复 使用道具 举报
引用类型的两个变量都指向同一个地址,所以改变变量a即改变地址中的内容,所以变量b也改变
回复 使用道具 举报
引用类型的传递,传递是地址,这个时候就是栈中两个变量指向同一个地址,操作任何一个都会改变堆中的值。
回复 使用道具 举报
  1. class Demo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int a = 10;
  6.                 System.out.println("调用方法前:a = " + a);
  7.                 fun1(a);//将a的值10复制一份到方法体内;
  8.                 System.out.println("调用方法后:a = " + a);//10

  9.                 int[] arr = {2,3,4};
  10.                 System.out.println("调用方法前:arr[0] = " + arr[0]);//2
  11.                 fun2(arr);//将arr的地址复制一份到方法内部
  12.                 System.out.println("调用方法后:arr[0] = " + arr[0]);//1000

  13.         }

  14.         //一个方法,接收基本数据类型
  15.         public static void fun1(int num){
  16.                 num = 100;
  17.         }

  18.         //一个方法,接收引用数据类型
  19.         public static void fun2(int[] arr){
  20.                 arr[0] = 1000;
  21.         }
  22. }
复制代码
回复 使用道具 举报
showdy 中级黑马 2015-4-12 22:14:46
9#
刘意视频中有,还画了内存图讲解
回复 使用道具 举报
君嘘 中级黑马 2015-4-12 22:03:48
8#
黑马小成 发表于 2015-4-12 22:01
赞一个!谢谢哈,懂了

不用谢:victory:
回复 使用道具 举报

赞一个!谢谢哈,懂了
回复 使用道具 举报
  1. import java.util.*;
  2. class Test
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 int[] arr={4,3,2,1};
  7.                 System.out.println(Arrays.toString(arr)); //4,3,2,1
  8.                 sort(arr);
  9.                 System.out.println(Arrays.toString(arr));//1,2,3,4
  10.         }
  11.         public static void sort(int arr[])
  12.         {       
  13.                 Arrays.sort(arr);
  14.         }
  15. }
复制代码
回复 使用道具 举报 2 0
牵猪散步 发表于 2015-4-12 19:52
这样的啊!那是地址值发生变化了吧

是地址值里面的东西可以改变,不是地址改变
回复 使用道具 举报
黑马小成 发表于 2015-4-12 19:49
第二个传递的是地址值,所以就可改变实际参数,,求例子

这样的啊!那是地址值发生变化了吧
回复 使用道具 举报
牵猪散步 发表于 2015-4-12 19:46
第一个我可以理解!第二个嘛!我也不是很懂!希望有大神能够解决啊

第二个传递的是地址值,所以就可改变实际参数,,求例子
回复 使用道具 举报
第一个我可以理解!第二个嘛!我也不是很懂!希望有大神能够解决啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马