一道关于对象传参的面试题
来源:互联网 发布:淘宝开店要交钱吗 编辑:程序博客网 时间:2024/06/04 01:26
开始面试了,遇到一道题挺有意思的,跟小伙伴们分享一下:
Giving the following code fragment, please select the correct description(s) of the generated output :
public class C1 {public C2 m1;public C1(String s){m1 = new C2(s);}}
public class C2 {public String m2;public C2(String s){m2 = s;}}
public class Test {public void doAction1(C1 c1){c1.m1.m2="changed";}public void doAction2(C1 c1){c1.m1= new C2("changed");}public void doAction3(C1 c1){c1 =new C1("changed");}public static void main(String[] args) {C1 c1 = new C1("original");new Test().doAction1(c1);System.out.println(c1.m1.m2);c1 = new C1("original");new Test().doAction2(c1);System.out.println(c1.m1.m2);c1 = new C1("original");new Test().doAction3(c1);System.out.println(c1.m1.m2);}}
吃饭的时候朋友发过来的题,对象如果传参传的是引用。也就是说doAction3中将c1重新指向一个地址是无效的,而doAction1中是可以该引用中的信息的。那么...2呢...
最后的结果是
changedchangedoriginal
也就是说可以为c1的属性c2重新指向一个地址。
涨姿势了。。。。
阅读全文
1 0
- 一道关于对象传参的面试题
- 关于一道面试题
- 关于一道面试题
- 关于一道微软面试题的思考
- 关于一道微软面试题的解答
- 关于FOR循环的一道面试题
- 一道关于容器的面试题
- 关于一道面试题的源代码解答
- 一道关于java线程的面试题
- 一道关于JavaScript变量的面试题
- 一道关于free的面试题
- 关于sizeof的一道面试题
- 关于ssh的一道面试题
- 关于JAVA的一道面试题
- 一道关于杀猪的面试题
- 关于一道java面试题的分析
- 关于数组指针的一道面试题
- 一道关于买房的面试题
- Tyvj1208(LIS数量)
- 深入理解JavaScript系列
- C#219课的主要内容
- 第三周 求集合并集
- sql 20170922
- 一道关于对象传参的面试题
- Python内存管理机制
- iOS_侧滑开启和关闭
- Struts 2 + Hibernate 开发环境搭建
- gava实现文件拷贝
- 二分图匹配-匈牙利算法
- kaldi 学习笔记-三音素训练1(Decision Tree)
- 第一章 绪论
- 开篇 · 随笔