| 其实他还就是一个构造方法,参数是C的对象。 而 C c2 = new C(new C(4));就是 1、首先用第一个构造方法声明一个匿名对象,该对象中的c初始化为0+1+2+3+4=10; 2、将该将该对象作为参数传入第二个构造方法,来声明另一个对象,c2即为其引用,此时第二个对象里的c被初始化为其参数对象中的成员变量c,即为10。 所以: System.out.println("c1:"+c1.c); System.out.println("c2:"+c2.c); 应该为:c1:21 c2:10 像你那样打印出来的是对象地址,C@******* |
神之梦 发表于 2013-8-29 21:39
以后发云6去吧,在最新版区发帖比较好
Nero 发表于 2013-8-29 21:40
c=b.c;
是说
其实是this.c=b.c b也是C类的一个对象
Nero 发表于 2013-8-29 21:48
按照你的理解
c1应该是10
c2才是21
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |