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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 朱晓盼 中级黑马   /  2014-4-14 19:46  /  1265 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class Res
  2. {
  3.         String name;
  4.         String sex;
  5. }

  6. class Input
  7. {
  8. //主要是下面这部分不懂
  9.         private Res r ;
  10.         Input(Res r)
  11.         {
  12.                 this.r = r;
  13.         }
复制代码

多线程例子里的代码开头部分,不是怎么懂
我的理解是:
创建一个Rec的引用类型变量r,将r进行初始化,将r作为参数传入Intput对象中???

8 个回复

倒序浏览
这个就是传入你要操作的对象嘛,因为你要对这个对象的数据进行操作嘛,这样就保证了存入和取出都是操作的同一个对象嘛
回复 使用道具 举报
这就是Java中基础数据类型与引用类型的区别。
int x = 3;
Res r = new Res();
这里x保存的值就是3,而r保存的值是指向刚创建对象实例Res()的地址。
Input(Res r)构造方法中传入的是r保存的对象实例Res()的地址,使得Input类实例化后,将该地址赋值给该类中的r成员变量,使其指向Res()对象实例。

回复 使用道具 举报
月光海 发表于 2014-4-14 20:08
这个就是传入你要操作的对象嘛,因为你要对这个对象的数据进行操作嘛,这样就保证了存入和取出都是操作的同 ...

明白了,谢谢
回复 使用道具 举报
呆呆沙师妹 发表于 2014-4-14 20:21
这就是Java中基础数据类型与引用类型的区别。
int x = 3;
Res r = new Res();

你解释的更细致,谢谢
回复 使用道具 举报
  1. class Res
  2. {
  3.         String name;
  4.         String sex;
  5. }

  6. class Input
  7. {
  8. //主要是下面这部分不懂
  9.         private Res r ; //定义一个私有的Res对象r,这个是类Input的成员变量。
  10.         Input(Res r)//这个是有参数的构造函数,建立Input的对象时必须传入一个Res对象。
  11.         {
  12.                 this.r = r;//r表示此构造函数的局部变量r,因为这个r与类的成员变量r重名了,想要使用成
  13. //员变量需要加上this才行
  14.         }
复制代码
回复 使用道具 举报
这就是典型的用一个类的引用来初始化另一个类
回复 使用道具 举报
在你理解这段代码的时候,在Input类里面你可以先把Res当做一个基本数据类型来看待就行了,原理是一样的。
回复 使用道具 举报
这不是构造函数吗?   就是你Input 类创建的时候传入一个Res类型的对象,并把传入的对象赋值给input对象中的r变量。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马