收藏 分享(赏)

实例就是对象.doc

上传人:s36f12 文档编号:6945819 上传时间:2019-04-28 格式:DOC 页数:4 大小:23KB
下载 相关 举报
实例就是对象.doc_第1页
第1页 / 共4页
实例就是对象.doc_第2页
第2页 / 共4页
实例就是对象.doc_第3页
第3页 / 共4页
实例就是对象.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、”一个类的实例” 和 ”一个类的对象“ 是说的一个意思 类好比一个模具,对象就是用这个模具造出来的具有相同属性和方法的具体事物,俗话说:“他俩真像,好像一个模子刻出来的”,就是指的这个意思。 a instance of A 这行语句是一个布尔表达式,即它的返回值是一个布尔值,即真或假,那么这句话是判断什么的真或者假呢?首先你要知道 instance of 是一个关键字,也就是这个词组在 java 源代码中具有特殊的含义的词语,这个词组的左边放一个对象,在这里是 a,这个词组的右边放一个类,这里是 A(注意 java 中区分大小写, a 和 A 不是一个东西) ,所以 a instance of

2、 A 这条语句通俗的说就是:“a 这个东西是否是 A 这个模具刻出来的”,用 OOP(面向对象程序设计)的话来说就是:“对象 a 是否是 A 类的一个实例” 你的问题如果要没有歧义的问就应该是:“对象 a 是否是类 A 的实例”,而不是“对象 a 是否是 A 的一个对象” 再打个比方说一下类和对象吧:类就是你想象当中的若干个事物的一个种类,比如飞碟,但是如果你定义了一个飞碟类 UFO 以后,就有飞碟了吗?答案是,没有,因为它只是一个模具,当我们想象有飞碟这种东西时,我们还没有发现任何飞碟的实物。这就是类。 假设有一天,天空真的出现了几个飞碟,从东边飞来了一个蓝色的盘状飞碟,比如代号叫 b101

3、;从西边飞来了一个红色的球状飞碟,代号叫 r102;从南边飞来了一个绿色的条形飞碟,代号叫 g103;那么我们就可以说:对象 b101,a102,g103 都是飞碟类的实例,所以表达式 b101 instance of UFO 的返回值就是真,在 java 中的表达就是 true 那么飞机,假设有一架飞机我们叫他空军一号 aan1,则表达式 aan1 instance of UFO 的返回值就是假,在 java 中的表达就是 false 事实上 instance of 关键字是不建议使用的,因为它的使用一般意味着该软件的框架非常之巨大,其中包含的抽象类和借口巨多,导致有时需要进行这样的判断,一

4、个设计得非常健壮,逻辑紧凑的软件是不应该有这样的表达式的。 明白了吗? 补充: 你补充的这个问题,就是问 equals 函数的作用 equals 的英语意思就是等于,在这里作为一个函数的名称,同时这个函数只有对象才能调用,这里你还要知道引用和对象的区别。 Student stu1 = new Student(); Student stu2 = stu1; Student stu3 = new Student(); 问题:这里有几个类?几个对象?几个引用? 答案是:一个类,两个对象,三个引用。 不要以为 stu1 和 stu2 不是同一个东西,在这里,他们是同一个,所以stu1.equals(s

5、tu2)的值就是 true(真),而 stu1.equals(stu3)的值就是 false 注意需要与 instance of 区别,instance of 是判断一个引用指向的对象是否是一个类的实例,而 equals 是判断一个引用和另一个引用是否是同一个对象。 再用个通俗的例子给你说说吧: 我有两个女同学,一个叫小芳,一个叫小雪,女同学是一个类,其中小芳也是我的女朋友,女朋友也是一个类,这个类继承自女同学类,那么就有 class ClassMate /女同学类 class GirlFriend extends ClassMate/女朋友类 class Demo/测试类 public vo

6、id main(String args) ClassMate xue = new ClassMate();/同学小雪 GirlFriend fang = new GirlFriend();/女朋友小芳 ClassMate fang2 = fang;/同学小芳 则有 (xue instance of ClassMate)=true/小雪是同学 (fang instance of ClassMate)=true/小芳是同学 (xue instance of GirlFriend)=false/小雪不是女朋友 (fang instance of GirlFriend)=ture/小芳是女朋友 -同时 - xue.equals(fang)=false/同学小雪不是女朋友小芳 xue.equals(fang2)=false/同学小雪不是同学小芳 fang.equals(fang2)=true/同学小芳就是女朋友小芳

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报