java中的闭包
来源:互联网 发布:奥飞数据与奥飞娱乐 编辑:程序博客网 时间:2024/06/05 08:33
今天将一个变量A传到一个方法B(A)中,然后再到B外部调用A,发现A的值不对,后来发现这是一个闭包的概念
写了一个小程序测试了一下
private static void numberTest(Person j) {System.out.println("numberTest1:" + j.age);// j = 3;System.out.println(j.toString());j.age = 13;// j = new Person("gxw2", 12);System.out.println(j.toString());System.out.println("numberTest2:" + j.age);// return i;}public static void main(String[] args) {Integer i = 2;String t = "gxw";Person person1 = new Person("gxw", 11);System.out.println("main1:" + person1.toString());numberTest(person1);System.out.println("main2:" + person1.toString());System.out.println("main:" + person1.age);}}class Person {String name;int age;public Person(String name, int age) {super();this.name = name;this.age = age;}}
当numberTest方法中直接new一个对象,new出的j在会在堆中被分一个新地址,但是新地址不会覆盖原始地址,所以当在mian方法中输出person1的地址是不变的,而在numberTest中j的地址会改变。
当在numberTest方法中改变Person的属性时,由于在堆中的地址没变,变得只是属性,所以在main中person1的地址同样不变,并且在numberTest中j的地址也不变,但在mian和numberTest中输出age时,age的值会改变
果然在大学学的东西都还给老师了,真实瀑布汗,还得巩固基础知识啊
0 0
- JAVA中的闭包
- java中的闭包
- java中的闭包
- 闭包(Java中的闭包)
- java中的闭包与回调
- Java中的闭包与回调
- Java中的闭包与回调
- Java中的闭包与回调
- java中的闭包和回调
- java中的闭包和回调
- java中的闭包和回调
- java中的闭包与回调
- Java中的闭包与回调
- java中的闭包与回调
- 详解Java中的闭包(Closure)
- Java中的闭包之实例一
- JAVA中的闭包与回调
- java开发工程师 javascript中的闭包
- 关系模型基本概念
- java解析ecel文件,xls和xlsx
- 做一个合格的程序猿之浅析Spring IoC源码(八)了解BeanFactoryAware
- 程序员如何写出牛掰的简历
- Android 判断网络类型 wifi,2G,3G,4G
- java中的闭包
- 1/7 = 0.142857142... 是个无限循环小数。 任何有理数都可以表示为无限循环小数的形式。 本题目要求即是:给出一个数字的循环小数表示法。 例如: 输入: 1,5 则输出: 0.2 输入
- 事务和锁
- 链表C++实现
- spring mail 发送邮件
- Hadoop环境的配置
- java.lang.IllegalStateException异常产生的原因及解决办法
- RPC中Hessian请求转发
- 知识积累:.length和.length()