- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一:Java面向对象的编程思想:
Java具有面向对象的三大特征:
封装:通过java的类来实现数据和操作方法的封装,对外界可以将每一个Java类都视为一个黑箱,只需要调用该黑箱提供的方法即可完成你想要的操作。
继承:通过类的继承,便于将统一的功能集中在父类中,实现代码的重用和可维护性
多态:通过重载、重写与覆盖,实现不同类的不同形态特征。
以上这三大特征是通过具体的类、抽象类与接口技术来体现的。
把封装的类进行实例化,可以生成多个对象,这些对象通过消息传递来进行交互(消息传递即激活指定的某个对象的方法,以改变其状态或让它产生一定的行为),最终完成复杂的任务。
一个类的使用过程,包括封装类,生成实例、使用实例进行三个操作3个过程。
一个类就是变量和相关方法的集合,其中变量表明对象的状态,方法表明对象所具有的行为。
封装的类不是对象,要使用该封装的类进行操作,必须先生成这个类的一个实例-------对象。对象的生成包括声明、实例化和初始化3个方面的内容。通常的格式为:
ClassName objectName=new ClassName([paramlist]);
ClassName 声明了一个类型为ClassName的对象。其中ClassName是组合类型(包括类和接口)。对象的声明并不为对象分配内存空间。
运算符new 为对象分配内存空间,实例化一个对象。new 调用对象的构造方法,返回对该对象的一个引用(即该对象所在的内存地址)。用new可以为一个类实例化多个不同的对象。这些对象占用不同的内存空间,因此改变其中一个对象的状态不会影响到其他对象的状态。
生成对象的最后一步是执行构造方法,进行初始化。由于对构造方法可以进行重写,所以通过对给出不同个数或者类型的参数会分别调用不同的构造方法
new 运算符返回对一个对象的应用,但与,C,C++中的指针不同,对象的引用是指向一个中间的数据结构,它存储有关数据类型的信息及当前对象所在堆的地址,而对于对象所在实际的内存地址是不可操作的,这就保证了安全性。
对于具有共同属性,又有自己特点的对象,就不能够通过单一的封装来实现了。此时可以通过继承来实现。通过父类和子类,实现了类的层次,可以从最一般的开始,逐步特殊化,定义一系列子类。同时,通过继承也实现了代码的复用,是程序的复杂性线性增长,而不是呈几何增长。
继承是面向对象的基石,因为他允许创建分等级层次的类。运用继承,你能够创建一个通用类,它定义了一系列相关项目的一般特性。该类可以被具体的类继承,每个具体的类都增加一些自己的特有的东西。在Java术语中,被继承的类叫做超类(supperclass),继承超类的类叫做子类(subclass)。因此,子类是超类的一个专用版本,它继承了超类定义的所有实例变量和方法,并且为它自己增添了独特元素。
继承是使用已经存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性的继承父类。
尽管子类包括超类所有的成员,但它不能访问超类中被声明为private的成员。只能被它自己类中的其他成员访问,子类没有方法访问。
父类和子类的相互转换:在Java中可以将子类的引用赋给父类的对象,那么这时子类中那些不是从父类继承来的成员将不再可见,我们可以再通过强制类型转换将这个父类再转换成子类类型,那些成员又变得可见了,由此可见,将子类引用赋给父类对象时,Java虚拟机并没有将那些非继承成员丢弃。例如:
Bus bus=new Bus();
Car car=bus;
System.out.println(car.p);在编译时将产生错误,在car中p是不可见的。
下面将得到正确的结果,子类非继承域又可访问,没有被丢弃。
Bus bus2=(Bus)car;
System.out.println(bus2.z);
使用this和supper
Java拥有两个保留关键字this和supper,这两个关键字在继承的子类中使用。
this:
引用当前类的变量和方法。可以防止父类中也有相同的变量或者方法造成错乱。
super :
它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或者函数,基类与派生类中有相同成员定义时)
另外还有两种用法:
this(参数)引用当前类的构造函数。格式如下:
this(实参)
类似的super(参数)调用基类中的某一个构造函数
在子类的构造函数中,如果我们不显示的调用super()完成父类的构造,系统会自动调用父类的构造函数,但是这样存在很多的问题。如果在父类的构造函数中我们自己定义了构造函数,那么系统提供给我们不带参数且函数体只是一对大括号的构造函数将被收回,这时在子类的构造函数中,如果我们不显式指定哪一个suppe
您可能关注的文档
- IDM晶圆厂和封装厂皆想分切入的晶圆级封装.doc
- IEC62321 RoHS六有害物質培訓.ppt
- IE改善七大手法.doc
- IE工业工程技术-提高效率,降低成本.ppt
- III初中化学八个基础实验(八个必考一个)【中考化学专题复习】.doc
- illustrator图形图像绘制_说课上交稿.ppt
- ILO Convention No国际劳工组织公约没有.doc
- Immigration Past and Present移民的过去和现在.ppt
- imssage苹果推信产品介绍.ppt
- Informix数据库系统维护及双机HDR疑难问题详解.doc
- 人教版 八年级 语文 上册 第二单元《整本书阅读《红星照耀中国》 第二课时》课件.pptx
- 人教版 八年级 历史 上册 第六单元《第19课 抗日战争的胜利》课件.pptx
- 人教版 八年级 语文 上册 第四单元《整本书阅读 《红岩》》课件.pptx
- 人教版 八年级 语文 上册 第五单元《21.人民英雄永垂不朽——瞻仰首都人民英雄纪念碑 - 第二课时》课件.pptx
- 人教版 八年级 历史 上册 第三单元《第三单元整体设计》课件.pptx
- 人教版 八年级 历史 上册 第四单元《第11课 五四运动》课件.pptx
- 外研版六年级英语上册Module 8《Unit 1 Do you often play with dolls》课件.pptx
- 2026年高考数学提能训练(二).pdf
- 2026年高考物理提能训练(三).pdf
- 2026年高考物理提能训练(一).pdf
文档评论(0)