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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

当对象的成员变量是一个引用型变量时该如何理解?
例如,人这类事物具有年龄、姓名属性,可以这样描述class Person{private String name;private int age;}。但是如果成员变量是一个引用型变量该如何理解,特别是类类型变量。例如,有两个类:
class Demo1{private int a;}
class Demo2{private Demo1 d;}
如何理解Demo2中的成员变量d,是Demo1这类事物的属性Demo2这类事物的对象都具备吗?还有成员变量是一个数组时又该怎样理解。有没有具体的例子可以说一下,小弟菜鸟一枚望大神指点一下。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

7 个回复

倒序浏览
午夜b'Boy 来自手机 中级黑马 2014-3-1 16:36:21
沙发
定义一个类,再定义一个人,人都有手,人要操纵手,就要持有对手的引用。就可以封装到人内部
回复 使用道具 举报 1 0
我的理解浅一点,我认为无论是基本数据类型的变量还是引用类型的变量,都是变量啊,没有什么区别,可以像基本数据类型变量理解和使用。
回复 使用道具 举报
午夜b'Boy 来自手机 中级黑马 2014-3-1 16:37:36
板凳
定义一个手类,再定义一个人,人都有手,人要操纵手,就要持有对手的引用。就可以封装到人内部

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
Person类 代表人 ,人有名字,有年龄,所以你定义了两个变量来保存。
当你想进行更复杂的操作的时候,比如你想控制人的心脏,那你就要写个 Heart类,
Heart类就要有 跳动。。。等方法。你就要往person中加上一个Heart的引用了。毕竟人要有心脏。
Person类是不具有Heart类的属性的,但是Person却有了一个Heart的对象,可以对Heart里面可访问数据来进行操作。引用变量和基本类型一样,你把引用类型当成一个对象就好了。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
午夜b'Boy 发表于 2014-3-1 16:37
定义一个手类,再定义一个人,人都有手,人要操纵手,就要持有对手的引用。就可以封装到人内部 ...

嗯。比喻的很好有点头绪了。
回复 使用道具 举报
李白衣 发表于 2014-3-1 19:33
Person类 代表人 ,人有名字,有年龄,所以你定义了两个变量来保存。
当你想进行更复杂的操作的时候,比如 ...

解释的很清晰,有头绪了。赞一个
回复 使用道具 举报
volvoxc 发表于 2014-3-1 16:37
我的理解浅一点,我认为无论是基本数据类型的变量还是引用类型的变量,都是变量啊,没有什么区别,可以像基 ...

嗯,加深点面向对象的认识嘛!楼下两位解释挺好的,可以参照一下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马