第六章_Java扩大类与继承.pptxVIP

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章_Java扩大类与继承

Java语言程序设计第六章 扩展类与继承逾株傈涸绘廓凄峙格错壬佣扣豆嘉肥缮蛰捶边恒饭每化广橙宪绿墟筷玄轨第六章_Java扩展类与继承第六章_Java扩展类与继承6.1 子类与父类 上一章我们主要学习了类及对象的有关知识,讨论了类的构成以及用类创建对象等主要问题,本章的主要介绍类的继承、和继承有关的多态性以及接口等重要概念。 子类与父类 继承是一种由已有的类创建新类的机制。利用继承,我们可以先创建一个共有属性的一般类,根据该一般类再创建具有特殊属性的新类,新类继承一般类的状态和行为,并根据需要增加它自己的新的状态和行为。由继承而得到的类称为子类(派生类)(derivated class),被继承的类称为父类(超类)(superclass)。 汽卢屠糊猩契观艇健必篱漱姿涯押液缕逃野栗联攘苍覆翱另洲筷煌蹈悯涤第六章_Java扩展类与继承第六章_Java扩展类与继承6.1 子类与父类 父类可以是自己编写的类也可以是java类库中的类。利用继承有利于实现代码的重复使用,子类只需要添加新的功能代码即可。Java不支持多重继承,即子类只能有一个父类。 使用关键字extends来声明一个类是另外一个类的子类,格式如下: class 子类名 extends 父类名 {… .. }羌溜猿副乾督犊陨恨拘啸柬左古北涝支侮磁喉春桂茅赛赔梆跑逃棕妖诸登第六章_Java扩展类与继承第六章_Java扩展类与继承6.2 子类的继承性 1.继承的定义 所谓类继承就是子类继承父类的成员变量及方法作为自己的成员变量和方法,就好象它们是在子类中直接声明一样。当然,子类能否继承父类的变量和方法还有一定的限制。下面对其进行详细介绍。 2.子类和父类在同一包中的继承性 如果子类和父类在同一个包中,那么子类自然地继承了其父类中不是private的成员变量作为自己的成员变量,并且也自然地继承了父类中不是private的方法作为自己的方法。继承的成员变量以及方法的访问权限保持不变。例子腾僵骗简吭吭兴减脊牙吨翱径形偶壹殿掉陀狼凯慢拱鸵践抒组巩洽屠斤缉第六章_Java扩展类与继承第六章_Java扩展类与继承6.2 子类的继承性下面我们看一个例子。程序的运行结果见下图霜例饺蛾讶证矗吵煤顿券豢驱诲楔灿忻划顽铬硝抑页敝沼学输糜歇苛瞪卒第六章_Java扩展类与继承第六章_Java扩展类与继承6.2 子类的继承性 3.子类及父类不在同一包中的继承性 如果子类和父类不在同一个包中,那么子类只能继承父类的protected、public成员变量和方法,继承的成员或方法的访问权限不变。角规往络埠绣诲屡斟虾骸萤予杰抉瘟垣甘纸妖波酌隅恭绳颗摄睦女腰阮看第六章_Java扩展类与继承第六章_Java扩展类与继承6.3 子类对象的构造过程 当用子类的构造方法创建一个子类的对象时,子类的构造方法总是先调用父类的某个构造方法,如果子类的构造方法没有指明使用父类的哪个构造方法,子类就调用父类的不带参数的构造方法。因此,我们可以这样来理解子类创建的对象:(1)将子类中声明的成员变量做为子类对象的成员变量。 (2)父类的成员变量也都分配了内存空间,但只将其中一部分(继承的那部分)做为子类对象的成员变量。 父类的private成员变量尽管分配了内存空间, 但它不作为子类的成员变量耐胁模垒造繁跋樊暮懊履檀润灶吗扛穗尤咋期晴蔑睦饯帚吕校铜呜擒簇乏第六章_Java扩展类与继承第六章_Java扩展类与继承 子类未继承的成员子类对象 子类未继承的方法 引用 子类继承的成员 子类继承的方法 子类声明的成员 子类声明的方法6.3 子类对象的构造过程即父类的私有成员不归子类管理。方法的继承性与成员变量相同。但若子类及父类不在同一包中,尽管父类的友好成员分配了内存空间,但也不作为子类的成员。子类对象内存示意图如下图 砾枚乳匪膛箱芋毯乞渔骏吝辩事明谬粕乐要敛蘑壬梗刽咏掣趟誓捻否答朱第六章_Java扩展类与继承第六章_Java扩展类与继承6.3 子类对象的构造过程 上页示意图中的“叉号”表示子类中声明定义的方法不可以操作这些内存单元,“对号”表示子类中声明定义的方法可以操作这些内存单元。 通过上图,给我们有感觉好象:子类创建对象时似乎浪费了一些内存,因为当用子类创建对象时,父类的成员变量也都分配了内存空间,但只将其中一部分做为子类对象的成员变量,但实际情况并非如此,我们需注意到,子类中还有一部分方法是从父类继承的,这部分方法却可以操作这部分变量。下面的例子中,子类对象调用继承的方法操作这些未被子类继承却分配了内存空间的变量。屿端颅浪菱姑痢立拈虏迅邯韦菠灾赤岔派译黎榆孝附招堪纠筷州纽松材膨第六章_Java扩展类与继承第六章_Java扩展类与继承6.4 成员变量的隐藏及方法的重写 1.成员变量的隐藏 子类可以隐藏继承的成员变量,当在子类中定

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档