黑马程序员技术交流社区

标题: 当对象的成员变量是一个引用型变量时该如何理解 [打印本页]

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


作者: 午夜b'Boy    时间: 2014-3-1 16:36
定义一个类,再定义一个人,人都有手,人要操纵手,就要持有对手的引用。就可以封装到人内部
作者: volvoxc    时间: 2014-3-1 16:37
我的理解浅一点,我认为无论是基本数据类型的变量还是引用类型的变量,都是变量啊,没有什么区别,可以像基本数据类型变量理解和使用。
作者: 午夜b'Boy    时间: 2014-3-1 16:37
定义一个手类,再定义一个人,人都有手,人要操纵手,就要持有对手的引用。就可以封装到人内部
作者: 李白衣    时间: 2014-3-1 19:33
Person类 代表人 ,人有名字,有年龄,所以你定义了两个变量来保存。
当你想进行更复杂的操作的时候,比如你想控制人的心脏,那你就要写个 Heart类,
Heart类就要有 跳动。。。等方法。你就要往person中加上一个Heart的引用了。毕竟人要有心脏。
Person类是不具有Heart类的属性的,但是Person却有了一个Heart的对象,可以对Heart里面可访问数据来进行操作。引用变量和基本类型一样,你把引用类型当成一个对象就好了。
作者: 牛头人图腾    时间: 2014-3-1 21:14
午夜b'Boy 发表于 2014-3-1 16:37
定义一个手类,再定义一个人,人都有手,人要操纵手,就要持有对手的引用。就可以封装到人内部 ...

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

解释的很清晰,有头绪了。赞一个
作者: 牛头人图腾    时间: 2014-3-1 21:20
volvoxc 发表于 2014-3-1 16:37
我的理解浅一点,我认为无论是基本数据类型的变量还是引用类型的变量,都是变量啊,没有什么区别,可以像基 ...

嗯,加深点面向对象的认识嘛!楼下两位解释挺好的,可以参照一下。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2