java中 3 6_2.6.3 什么是Java中的对象

2.6.3  什么是Java中的对象

从前面的介绍中大家已经了解了Java中的类及如何用类来定义对象。但是,在Java中,或者说在计算机的程序中,"对象"到底是什么呢?这个问题需要向大家说清楚,然后再继续后面的学习。

类给出了属于该类的全部对象的抽象定义,在程序中对象就是符合这种定义的一个实体。也就是说,在我们的程序中可以把类与对象之间的关系看成是抽象与具体的关系。在面向对象的程序设计中,对象也被称为类的一个实例(Instance),而类是对象的模板(Template)。类是多个实例的综合抽象,每个对象的实例就是类的实物。

这些实物与类的不同之处在于,它们在Java程序当中是以某种形式存在的。这些内容说起来比较抽象,还是用图来说明问题吧。如图2.17所示,图的右侧为计算机的内存空间。我们把它画为一格一格的,每一格表示一定大小的存储空间。左侧定义的3个Circle的对象,就是保存在内存中的。而我们定义的对象的名称(如circle1、circle2…),它们表示的是对象在内存中保存的地址的开始位置。

图2.17中明确表示出对象作为一个类的实体在内存中的保存方式。对于每一个对象,它有着自己的属性值,这些值就保存在图2.17所示的对象保存位置当中。关于对象方法的情况比较复杂,在这里不多说,只要知道它也是以某种形式保存在对象的存储位置中。在所定义对象的名称中,保存的是对象存储位置的首地址。每一个对象都要占一定的存储空间,这个空间的位置需要在对象名称中保存。这样我们才能通过所定义的对象名称来得到对象在内存中的存储位置,继而找到对象中的属性与方法。

既然由对象名称可以得到对象在内存中的存储位置,如果需要得到一个对象的值,就必须通过对象的名称。对象中的方法也是如此,不同的对象有着同名的方法,这在前面介绍多态的时候已经提到过。在Java中使用对象属性或执行对象方法的语法格式如下:对象名.属性;

对象名.方法();

Java的语法规定,在访问对象的属性或者方法时,前面必须加上对象的名称,否则Java不知道这些属性和方法是哪个对象的。在对象名称的后面加上一个圆点,以区分对象名称和它的属性或方法。凡是用到方法名称的地方,我们都会无一例外地在方法名后面加上一对小括号。这是因为Java中所有方法都是函数,而函数的形式就是函数名后面加上括号。这在后面会进行详细讲解。

68f82599e5288074203902bbbaf580a1.png

(点击查看大图)图2.17  内存中的对象例如,如果要取得对象circle2的半径大小,并且随后执行它的计算曲率的方法,用下面的Java代码就可以做到:

circle2.radius;

circle2. getCurvature();

每一个对象都是独立的一个实体,它们各自的属性值并不相同。在定义好一个个的对象之后,就可以逐个对它们进行操作,相互之间是不会影响的。改变对象circle2的位置--也就是修改它的属性x和y的值,只有circle2的属性会改变,circle1和circle3的值并不会发生改变。在Java中,前面介绍的对象定义方法只是其中的一种形式。我们告诉过大家面向对象的一大好处就是可以重复利用原来已经存在的特征。如何使用已经存在的特征来定义对象呢?请继续看下一小节的内容吧!

【责任编辑:book TEL:(010)68476606】

点赞 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值