附录G:Java面向对象语言中的类、实例、对象、引用

2018-07-22  本文已影响0人  秋的懵懂

时间:2018-07-22 作者:魏文应


一、感性的认识

首先,结合现实,先有个感性的认识。有一种饼 叫做 印饼,看下面的图:

什么是类? 上面的印饼模具,每个孔印出的饼 样式不一样,有花的,有鱼的。我们把 从不同孔 印出的饼,看做是 不同类型的饼。饼上刻花、刻太阳花、刻一朵花,满足这种类型 的印饼,我们把它们 归为一类

什么是实例? 实例是 相对类 来说的。从 某个孔 中,印出很多个饼。这些饼,就是在 “饼上刻花、刻太阳花、刻一朵花” 这些规定 下,印出的 实实在在的例子,简称 实例。某个孔出来的,就叫做某个孔实例呗,比如:花饼1是花孔的一个实例,花饼2也是花孔的一个实例,鱼饼1是鱼孔的一个实例。给印 印饼这件事,起一个文绉绉的名字,就叫做 类的实例化

什么是对象? 我要吃一个印饼,我总不能说 “ 给我来一个花孔的实例 ” 吧!我肯定是说“ 给我来一个带花的印饼 ”。可是印饼只包括印饼啊,我想把人啊、猫啊、狗啊等等,都包含进来,怎么办?把印饼换一个词吧,让它包括更多东西,“给我来个饼” -> “给我来个吃的” -> "给我来个东西"。感觉东西这个词范围还不够大,后来就换成 对象 这个词来表示,这样范围就比较大了。

什么是引用? 你妈妈把印饼收藏起了,并用纸记下印饼的位置,每一张纸相对应的写着一个印饼的位置。每一张纸上 写的位置信息 就是一个引用:“ 导你去使 印饼!!!”。

二、使用代码说明

下面定义两个类:

class HuaBing{
    String name = "花饼";
    int = 2;
}
class YuBing{
    String name = "鱼饼";
    int = 1;
}

下面,根据类描述的信息,创建类的实例:

new HuaBing();
new HuaBing();
new YuBing();
new YuBing();

上面,根据 类描述的信息,就像 一个模子里印出来一样 ,在内存中创建了 类的实例。这些实例可以创建很多个。就像电视机、手机、鞋子这些加起来,被统称为 东西 一样,在内存中,把 所有的类的实例 组成的这个集合 ,统称为 对象

但是,这些对象 在内存中的哪里呢? 这时,我们就需要一个变量,存储对象的位置信息,这个变量就叫做 引用变量 导你找到并使 它):

HuaBing h = new HuaBing();

HuaBing h 就是定义一个 HuaBing 类型 的引用变量,这个 h 引用变量存储了 new HuaBing() 这个对象的位置信息:

三、总 结

通过描述,我们可以发现,现实中还有很多例子可以拿来比喻: 就像画在纸上的 设计图实例 就像用一份设计图造出来的 汽车类的实例化过程 就是 设计图变成汽车的过程。所有类型的汽车 组成的集合,统称为 对象。 一辆汽车生产出来,用一张纸记录这辆车存储在哪,这张纸被称为 引用变量,里面存储的位置信息被称为 引用

上一篇 下一篇

猜你喜欢

热点阅读