JAVA核心编程技术 (5).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
新世纪应用型高等教育 软件专业系列规划教材 大连理工大学出版社 第五章 继承和多态性 5.1 继承的概念 5.3 访问修饰符和继承性 5.2 子类的创建 5.4 is-a和has-a之间的联系 5.5 成员变量的隐藏和方法重写 5.6 super关键字 5.8 final关键字 5.7 继承的层次性 5.9 多态性 5.10 Object类 5.1 继承的概念   继承是面向对象程序设计的一个主要特征,是一种由已有的类创建新类的机制。它允许创建分等级、分层次的类。利用继承,我们可以先创建一个具有一系列相关对象的一般特性的通用类,然后根据该通用类再创建具有特殊特性的新类。新类继承通用类的状态和行为,并根据需要增加自己的新的状态和行为。由继承而得到的类称为子类或派生类,被继承的通用类称为父类、超类或基类。继承反映了类型之间的静态联系,它很好地模拟了现实世界中的分类别、多层次的对象关系,子类和超类的关系是一种“is a”的关系。在编程技术中,继承是一种代码复用技术,它使得我们可以在一定的基础上进行开发工作,而不需要一切从零开始。 5.2 子类的创建   子类的创建与我们前面所介绍的类的创建包含的内容几乎是一样的,一样包含了类的声明和类体两个部分,不同的地方是需要在声明子类时体现子类的继承性。子类继承超类是通过在子类的声明语句后面使用关键字“extends”来体现的。创建子类的一般语法格式如下:   访问修饰符][类型修饰符] class 子类名 extends 超类{     [子类成员变量声明]     [子类方法定义]   }   上述例子声明Manager类为Employee类的子类,Employee类是Manager类的超类。   注:如果一个类的声明中没有使用extends关键字,则会被系统默认为是Object类的子类。 5.3 访问修饰符和继承性   子类能继承超类的状态和行为,即子类能继承超类的成员变量和方法。子类继承超类的成员变量和方法,就象它们是在子类中直接声明和定义的一样,可以被子类定义的方法操作。从前面有关章节内容的讨论中,我们也知道类的每个成员都被赋予一定的访问权限,通过访问权限可以使类的成员不被其他类以末授权方式访问。所以虽然子类能继承超类的成员变量和方法,但并不意味着超类的所有成员变量或方法都能被子类继承,子类的继承性需要由类成员访问修饰符来决定。下面我们来讨论子类的继承性和访问修饰符的关系。 5.3 访问修饰符和继承性 5.3.1 访问修饰符 类访问修饰符   声明类时可使用两种访问修饰符:public和缺省。使用public修饰符声明的类为公有类,使用缺省修饰符(即没有任何修饰符)声明的类为友好类。公有类可以被包内和包外的任意类访问,即在任意类中,public类都是可见的;友好类只能被同一个包中的类访问,对同一个包中的类中是可见的。所以如果希望包中的成员能被包外的类访问,必须将类声明为public。 类成员访问修饰符   (1)private访问修饰符   声明的成员变量和方法称为私有变量和私有方法。   (2)public修饰符   声明的成员变量和方法称为公有变量和公有方法。   (3)protected访问修饰符   声明的成员变量和方法称为受保护的变量和受保护的方法。   (4)缺省访问修饰符   声明的成员变量和方法称为友好变量和友好方法。 5.3 访问修饰符和继承性 5.3.2 子类的继承性   子类能继承超类的成员变量和成员方法,在继承过程中,需要注意的是,类的每一个成员都被赋予了一定的访问权限,成员访问权限不同,子类对它的继承性也不同。子类对超类的继承性主要有以下三种情况:   1.超类的private变量和private方法不能被子类继承。   2.在同一个包中,子类能继承超类的所有非private成员。 5.4 is-a和has-a关系 is-a和has-a是表示类之间相互关系的两种方式,is-a表示了类之间的静态联系,而has-a则表示了类之间的动态联系。is-a表示的是一种属于关系,是“一般和具体”的关系;而has-a表示的则是一种包含关系,是一种“整体和部件”的关系。 5.5 成员变量的隐藏和方法重写   子类继承超类后,自动继承超类的非私有成员变量和成员方法,但如果在子类中定义了与超类同名的成员变量,且这些成员变量在超类中是非私有的,则超类的这些成员变量不能被子类继承,此时称子类的成员变量隐藏了超类的成员变量。另一方面,如果在子类中定义了一个方法,这个方法的名字、返回类型和参数声明与超类的某个方法完全相同,并且超类的这个方法是非私有的,此时超类的这个方法被子类隐藏而不能被子类继承,称这时子类的这个方法覆盖(override)或重写了超类的同名方法。 5.5 成员变量

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档