JAVA程序设计(第五章 子类与继承).pptx

JAVA程序设计(第五章 子类与继承).pptx

ID:48773897

大小:284.80 KB

页数:41页

时间:2020-01-23

JAVA程序设计(第五章 子类与继承).pptx_第1页
JAVA程序设计(第五章 子类与继承).pptx_第2页
JAVA程序设计(第五章 子类与继承).pptx_第3页
JAVA程序设计(第五章 子类与继承).pptx_第4页
JAVA程序设计(第五章 子类与继承).pptx_第5页
资源描述:

《JAVA程序设计(第五章 子类与继承).pptx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、JAVA程序设计Java2实用教程(第四版)陈艳1第五章子类与继承子类与父类子类的继承性子类与对象成员变量的隐藏和方法重写super关键字final关键字类对象的上转型对象继承与多态abstract类与abstract方法面向抽象编程开-闭原则2子类与父类用extends来定义一个子类:class子类名extends父类名{…}classStudentextendsPeople{…}3子类与父类4类的树形结构任何类都是Object的子孙类每个类有且仅有一个父类一个类可有多个子类一个类的定义中无extends,则默认是Object的子类子类的继承性5子类和父类在同一个包中的继承性子类继承其父类

2、中不是private的成员变量和成员方法作为自己的成员变量和成员方法,继承的成员变量和成员方法访问权限保持不变例1:所有的类都在无名包中Example5_1PeopleStudentUniverStudent子类的继承性6子类和父类不在同一个包中的继承性子类只继承父类中的protected和public访问权限的成员变量和成员方法父类中的private和友好访问权限的成员变量和成员方法不被继承子类的继承性7protected的进一步说明类A中的protected成员变量和方法可以被它的子孙类继承如果在类D中创建了D本身的对象,那么该对象可以通过“.”运算符访问继承的或自己的protected

3、变量和方法子类的继承性8protected的进一步说明在Other类中创建了D类的对象obj,则protected的成员变量和成员方法权限如下:只要Other类和D类在同一个包中,obj对象可以访问D类自己声明的protected成员变量和方法对于子类D从父类继承的protected成员变量和方法,需要追溯这些protected成员变量或方法的祖先,如A类,只要Other类和A类在同一个包中,obj对象能访问继承的protected成员变量和方法子类与对象9子类对象的特点子类不继承父类的private成员变量如果子类和父类不在同一个包中,子类不继承父类的友好成员变量子类从父类继承过来的方法可

4、以操作上述这两部分未被继承的变量例2子类与对象10关于instanceof运算符当左边的操作元是右边的类或其子类所创建的对象时,instanceof运算结果为true,否则为falsekateinstanceofstudentkateinstanceofPeoplemikeinstanceofPeoplemikeinstanceofstudentmikeinstanceofUniverStudentkateinstanceofUniverStudentkatemiketurefalse成员变量的隐藏和方法的重写11成员变量的隐藏当子类中定了和父类中同名的成员变量(类型可以不同),父类中的成员

5、变量在子类中被隐藏子类对象及子类自己定义的方法中操作与父类同名的成员变量时,实际上操作的是子类自己定义的这个成员变量子类继承的方法操作的成员变量是被子类隐藏的父类的成员变量例3Example5_3CheapGoodsGoods成员变量的隐藏和方法的重写12方法重写子类中定义和父类同名的方法,这个方法的类型和父类的方法的类型一致或者是父类的方法的类型的子类型(如,父类方法的类型为类A,那么允许子类的重写的方法的类型是A的子类),且方法名、参数个数、参数的类型和父类的方法完全相同,子类如此定义的方法称作子类重写的方法成员变量的隐藏和方法的重写13方法重写如果父类的方法f()被子类重写,子类就隐藏

6、了父类的f()方法,则子类对象调用的f()方法是子类重写的f()方法子类重写的方法可以调用从父类继承的成员变量和成员方法,也可以操作子类新声明的成员变量和方法,但无法操作被子类隐藏的父类的成员变量和方法例4Example5_4UniversityImportantUniversity例5成员变量的隐藏和方法的重写14方法重写例5中若将computer()方法的返回类型改为double将产生编译错误,原因:不是重写了父类的computer()方法类中不能同时存在两个方法名相同、参数也相同,但返回值不同的同名方法,不符合重载的语法规则成员变量的隐藏和方法的重写15方法重写重写父类方法时,不能降低

7、方法的访问权限,可以提高访问权限classA{protectedfloatf(floatx,floaty){returnx-y;}}classBextendsA{//非法,降低了访问权限floatf(floatx,floaty){returnx+y;}}classCextendsA{//合法,提高了访问权限publicfloatf(floatx,floaty){returnx*y;}}成员变量的隐藏和方法的重

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。