(42)-7.5 多态程序设计_第1页
(42)-7.5 多态程序设计_第2页
(42)-7.5 多态程序设计_第3页
(42)-7.5 多态程序设计_第4页
(42)-7.5 多态程序设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

多态学习目标理解类继承的概念以及父类和子类的关系理解super关键字掌握方法覆盖理解多态性、动态绑定和对象的强制类型转换理解数据字段和静态方法的隐藏掌握修饰符:protected、final知识图谱多态性、动态绑定多态(polymorphism):指父类的变量可以指向子类对象。当调用实例方法时,由Java虚拟机动态地决定所调用的方法,称为动态绑定(dynamicbinding)。假定对象o是类C1的实例,C1是C2的子类,C2是C3的子类,…,Cn-1是Cn的子类。也就是说,Cn是最一般的类,C1是最特殊的类。在Java中,Cn是Object类。如果调用o的方法p,Java虚拟机按照C1、C2、…、Cn的顺序依次查找方法p的实现。一旦找到一个实现,将停止查找,并执行找到的第一个实现。CnCn-1…C2C1Object查找方法p的顺序对象o多态性、动态绑定对象转换类型转换(typecasting)可以将一个对象的类型转换成继承结构中的另一种类型。从子类到父类的转换是合法的,称为隐式转换。

从父类到子类必须显式转换,被转换的变量所指向的对象的类型必须是转换类或它的子类。 Objecto=newTeacher();Useruser=(User)o;Teacherteacher=(Teacher)o; o所指向的对象必须是Student或Student子类的对象。Useruser=newTeacher();Teacherteacher=newTeacher();user=teacher;

对象转换instanceof操作符可以用instanceof操作符判断一个对象是否是一个类的实例。表达式返回boolean值。语法referenceVariableinstanceofTypeName例如第3行不注释,第4行注释,程序是怎样执行的?instanceof操作符父类的对象实例用instanceof判断是否是子类型,返回为false。子类的对象实例用instanceof判断是否是父类型,返回true。例如第3行注释,第4行不注释,程序是怎样执行的?instanceof操作符成员访问方式如果子类中声明的属性和静态方法与父类中的名称相同,那么父类中的将被隐藏(hide)。在子类中,通过super关键字访问被隐藏的数据字段和静态方法。在子类外,可通过父类型的变量访问被隐藏的父类的属性和父类的静态方法对于静态方法,也可以用类名来访问。隐藏的数据字段和静态方法成员变量和静态方法访问方式成员变量和静态方法根据变量的声明类型进行访问。实例方法访问方式实例方法根据变量所引用的对象的实际类型进行访问。成员访问方式可见性访问控制修饰符与final修饰符protected修饰符用于修饰数据和方法,可以被同一个包中的任何类或不同包中的子类访问。P1C1publicintaprotectedintbintdprivateintdC2C3C1c1=newC1()P2C4C5C1c1=newC1()C2中的代码可以访问a,b,cC3中的代码可以访问c1对象中的a,b,cC4中的代码可以访问a,bC5中的代码可以访问c1对象中的aprotected修饰符访问控制符类成员的访问控制符类的访问控制符public:类可以被任何包中的类访问无(package):自身类,同一个包中的类可以访问成员修饰符同一个类相同包中的类子类不同包中的类public√√√√protected√√√无(package)√√private√final数据:常量,数据初始化后不能再修改。final方法:最终方法,子类不能覆盖,可防止方法被覆盖。final类:最终类,不能派生子类,防止被扩展继承。String,StringBufferfinal局部变量:数据初始化后不能再修改。final修饰符总结了解封装概念掌握Java如何实现封装掌握ArrayList类的使用理解类继承的概念以及父类和子类的关系掌握通过继承由父类定义子类掌握用UML图表示类继承及编写Java类掌握super关键字了解Object类理解覆盖的概念总结掌握在子类中重写方法掌握方法覆盖与重载,理解两者区别理解多态的概念掌握动态绑定掌握对象转换掌握insta

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论