黑马程序员技术交流社区
标题:
对象的参数可以接受另一个对象???
[打印本页]
作者:
悟佛修道
时间:
2013-5-20 23:09
标题:
对象的参数可以接受另一个对象???
本帖最后由 悟佛修道 于 2013-5-27 08:20 编辑
毕老师在讲解 线程间的通信时,定义了资源对象 r ,输入对象in ,输出对象out,然后把对象r作为参数传入了对象in 和 out 的构造函数中。这个怎么理解啊?对象in和out
被对象r初始化???对象被对象初始化?什么意思啊?in和out 这两个对象都变成对象r了???是这样吗???求解,谢谢!!!
QQ截图20130520230251.png
(62.84 KB, 下载次数: 0)
下载附件
2013-5-20 23:08 上传
作者:
刘勇强
时间:
2013-5-20 23:36
本帖最后由 刘勇强 于 2013-5-21 00:01 编辑
最好贴出完整的代码
in 是类Inout的对象 out是 Output的对象 r是类Res的对象 ,in和out 这两个对象怎么会变成对象r
看不到Input的定义,但能看到Output的定义
Output out= new Output(r); 这句明显是把 Res类型的r 作为参数用作初始化对象out. 上面Input in.. 那句同理。
类也是数据类型的一种,类的对象当然可以作为初始化对象时用到的参数
作者:
黑马-许鹏
时间:
2013-5-21 00:25
是这样的,为了保证输入和输出用的是一个资源。所以在Output类中就定义了一个私有化的Res类型的成员变量,但是用了一个参数类型是Res的构造函数来获得该Res类型的成员变量的值,同理在Input类中也是同样的配置。
在主函数中就新建了一个具体的Res类的对象,通过实际参数的形式传给了Input类和Output类的对象in和out,这样就保证了in和out这两个对象操作的是同一个资源。我说的很详细,你应该能明白了吧?不明白的话继续问
作者:
悟佛修道
时间:
2013-5-21 08:29
l意思是 r 是in out的一个成员变量?对in out 初始化后,他们的成员变量 r 的值就相当于是res的一个对象?所以可以直接r.name 修改共享资源res里面的名字?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2