首页 理论教育 对象的声明和引用值

对象的声明和引用值

时间:2022-02-28 理论教育 版权反馈
【摘要】:例如,通过引用变量zhangSan可以访问张三对象的name、sex、age、height、avoirdupois这5个成员变量以及walk、speak、work这3个成员方法。在这里商品房是对象,房门钥匙是引用值,你手里拿的是房门钥匙,而不是商品房,但你可以通过房门钥匙使用(即引用)商品房。在Java中,引用型变量就相当于指针变量,引用值就相当于变量地址,对象就相当于Node结构体类型某个变量的值。

4.3.1 对象的声明

对象声明的格式:

类名 对象变量名;

其中,类名为引用类型(包括类、接口和数组)。声明不为对象分配空间,只为引用型变量分配一个空间,用来存放引用值。

例如下列语句:

Humankind zhangSan,liSi;

其中,Humankind是已经定义的类,zhangSan、liSi为引用变量,即引用变量zhangSan、liSi的类型为类Humankind。

引用类型变量存储一个对象的引用值,不是对象本身。例如,给引用变量zhangSan分配的空间只存储张三对象的引用值,不存储张三对象本身;给引用变量liSi分配的空间只存储李四对象的引用值,不存储李四对象本身。但对对象的实例变量的访问以及对对象的实例方法的调用必须通过该引用值进行。例如,通过引用变量zhangSan可以访问张三对象的name、sex、age、height、avoirdupois这5个成员变量以及walk、speak、work这3个成员方法。

作一个不十分恰当的类比,假如你买了一套三房两厅的商品房,你会从开发商那里拿到房门钥匙。在这里商品房是对象,房门钥匙是引用值,你手里拿的是房门钥匙,而不是商品房,但你可以通过房门钥匙使用(即引用)商品房。

对一个对象的引用值,除了可以判断其类型和对其进行类型转换之外,并没有其他操作可言。

注:熟悉C语言的同学,可进行如下类比。在C语言中定义:

img163

在Java中,引用型变量就相当于指针变量,引用值就相当于变量地址,对象就相当于Node结构体类型某个变量的值。引用类型变量只存储某个对象的引用值,不存储对象本身。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈