- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(Java中类的继承
Java中类的继承1、方法重载
重载方法必须满足以下条件:#方法名相问.
#方法的参数类型、个数、顺序至少有一项不相同。#方法的返回类型可以不相同。#方法的修饰符可以不相同.
方法覆盖
(1)子类方法的名称、参数签名和返回类型必须与父类方法的名称、参数签名和返回类型一致.
(2)子类方法不能缩小父类方法的访问权限.
(3)子类方法不能抛出比父类方法史多的异常,(4)方法覆盖只存在于子类和父类(包括直接父类和间接父类)之间.在同一个类中方法只能被重载,不能被扭盖。(5)父类的静态方法不能被子类覆盖为非静态方法。
(6)子类可以定义与父类的静态方法同名的静态方法,以便在子类中隐藏父类的静态方法.在编译时,子类定义的静态方法也必须满足与方法覆盖类似的约束。
(7)父类的非静态方法不能被了类覆盖为静态方法。
(8)父类的私有方法不能被子类覆盖。
(9)父类的抽象方法可以被子类通过两种途径覆盖:一是子类实现父类的抽象方法:二是子类重新声明父类的抽象方法。
(10)父类的非抽象方法可以被覆盖为抽象方法.
方法覆盖与方法重载的异同方法覆盖和方法重载具有以下相同点:#都要求方法同名.#都可以用于抽象方法和非抽象方法之间.方法筱盖和方法重载具有以下不同点:#.方法覆盖要求参数签名必须一致.而方法重载要求参数签名必须不一致.#.方法覆盖要求返回类型必须一致,而方法重载对此不做限制.#.方法覆盖只能用于子类覆盖父类的方法,方法重载用于同一个类的所有方d???? (包括从父类中继承而来的方法)。#.方法覆盖对方法的访问权限和抛出的异常有特殊的要求,而方法重载在这力???? 面没有任何限制。#.父类的一个方法只能被子类覆盖一次,而一个方法在所在的类中可以被重载???? 多次。
super关键字???? super和this关键字都可以用来履盖Java语言的默认作用域.使被屏蔽的方法或变盆变为可见。在以下场合会出现方法或变量被屏蔽的现象.???? .场合一:在一个方法内.当局部变量和类的成员变量同名,或者局部变量和???????? 父类的成员变量同名时,按照变量的作用域规则,只有局部变量在方法内可?????????? 见。???? .场合二:当子类的某个方法覆盖了父类的一个方法。在子类的范围内,父类???????? 的方法不可见.???? .场合三:当子类中定义了和父类同名的成员变量时,在子类的范围内,父类???????? 的成员变量不可见。
在程序中,在以下情况下会使用super关键字:#在类的构造方法中,通过super语句调用这个类的父类的构造方法。
#在子类中访问父类的被屏蔽的方法和属性。
多态性
它是指当系统A访问系统B的服务时,系统B可以通过多种实现方式来提供服务,
而这一切对系统A是透明的.
多态的各种特性
(1)对于一个引用类型的变量,Java编译器按照它声明的类型来处理.
(2)对于一个引用类型的变盆.运行时Java虚拟机按照它实际引用的对象来处理.例如以下代码虽然编译可以通过,但运行时会抛出ClassCastException运行时异常.
Sub?? sub=new Sub();
Base base=(Base)sub;
???? 在运行时,子类的对象可以转换为父类类型,而父类的对象实际上无法转换为子类类型。因为通俗地讲,父类拥有的成员子类肯定也有,而子类拥有的成员父类不一定有。
(3)在运行时环境中.通过引用类型变量来访问所引用对象的方法和属性时,Java虚拟机采用以下绑定规则。????? #实例方法与引用变量实际引用的对象的方法绑定,这种绑定属于动态绑定,???????? 因为是在运行时由Java虚拟机动态决定的.????? #.静态方法与引用变量所声明的类型的方法绑定.这种绑定属于静态绑定,因???????? 为实际上是在编译阶段就己经做了绑定.???? .#成员变量(包括静态变且和实例变量)与引用变量所声明的类型的成员变量???????? 绑定,这种绑定属于静态绑定,因为实际卜是在编译阶段就已经做了绑定.继承的利弊和使用原则
继承树的层次不可太多继承树(不考虑顶层的Object类)的层次应该尽蚤保持在两到三层。
如果继承树的层次很多,会导致以下弊端:???? (1)对象模型的结构太复杂,难以理解,增加了设计和开发的难度。继承树底层的子类会继承上层所有直接父类或间接父类的方法和属性,假如子类和父类之间还有频繁的方法覆盖和属性被屏蔽的现象,那么会增加运用多态机制的难度,难以预计在运行时方法和属性到底和哪个类绑定。???? (2)影响系统的可扩展性。继承树的层次越多,在继承树上增加一个新的继承分支需要创建的类越多。
继承树的上层为抽象
您可能关注的文档
- (CMS泽元软件公司介绍.doc
- (dtnl》教案教学设计.doc
- (DSP原理及应用的学习体会.doc
- (DOS教程.doc
- (dzayfzm阳江市义务教育初中语文科教学质量报告议案.doc
- (DOS知识.doc
- (cooedit使用方法.doc
- (DirectX编程简介.doc
- (年质量管理试卷A.doc
- (年轻教师专业发展的影响因素分析.doc
- GB/T 22120-2025企业信用数据项要求.pdf
- GB/T 45988-2025数字化转型管理 能力体系建设要求.pdf
- GB/T 45957-2025信息技术 政务服务码 码系统接口要求.pdf
- 中国国家标准 GB/T 45957-2025信息技术 政务服务码 码系统接口要求.pdf
- 《GB/T 45957-2025信息技术 政务服务码 码系统接口要求》.pdf
- GB/T 755-2025旋转电机 定额与性能.pdf
- 《GB/T 755-2025旋转电机 定额与性能》.pdf
- 中国国家标准 GB/T 755-2025旋转电机 定额与性能.pdf
- GB/T 31722-2025网络安全技术 信息安全风险管理指导.pdf
- 《GB/T 31722-2025网络安全技术 信息安全风险管理指导》.pdf
文档评论(0)