- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 继承、接口与泛型
第4章 继承、接口与泛型 第4章 继承、接口与泛型 4.1 子类的继承性 4.2 子类对象的构造过程 4.3 成员变量隐藏和方法的重写 4.4 super关键字 4.5 final类与final方法 4.6 abstract类 4.7 面向抽象 4.8 接口 4.9 面向接口 4.10 匿名类 4.11 泛型 子类与父类 继承是一种由已有的类创建新类的机制。利用继承时,可以先创建一个共有属性的一般类,根据该一般类再创建具有特殊属性的新类,新类继承一般类的状态和行为,并根据需要增加它自己的新的状态和行为。由继承而得到的类称为子类,被继承的类称为父类(超类)。 使用关键字extends来声明一个类是另外一个类的子类,格式如下: class 子类名 extends 父类名 { …... } Java不支持多重继续,即子类只能有一个父类。 子类的继承特性 子类的成员中有一部分是子类自己声明定义的,另一部分是从它的父类继承的。子类继承父类的成员变量和方法作为自己的成员变量和方法,就好象它们是在子类中直接声明一样,可以被子类中声明的任何实例方法操作。但子类能否继承父类的成员有一定限制。 与包有关的子类继承性 如果子类和父类在同一个包中,那么子类会继承其父类中不是private的成员作为自己的成员,继承的成员访问权限不变。 如果子类和父类不在同一个包中,那么子类只能继承父类的protected、public成员,继承的成员访问权限不变。 子类对象的构造过程 当用子类的构造方法创建一个子类的对象时,子类的构造方法总是先调用父类的某个构造方法,如果子类的构造方法没有指明使用父类的哪个构造方法,子类就调用父类的不带参数的构造方法。 具体可以这样来理解子类创建的对象: (1)将子类中声明的成员变量做为子类对象的成员变量。 (2)父类的成员变量也都分配了内存空间,但只将其中一部分(继承的那部分)做为子类对象的成员变量。 成员变量隐藏 子类可以隐藏继承的成员变量。当在子类中定义与父类中同名的成员变量时,子类就隐藏了继承的成员变量,即子类重新声明定义了这个成员变量。 方法重写 子类也可以隐藏方法,子类通过方法重写来隐藏继承的方法。方法重写是指:子类中定义一个方法,并且这个方法的名字、返回类型、参数个数和类型与从父类继承的方法完全相同。 使用super调用父类的构造方法 子类不继承父类的构造方法,因此,子类如果想使用父类的构造方法,必须在子类的构造方法中使用并且必须使用关键字super来表示,而且super必须是子类构造方法中的第一条语句。 使用super操作被隐藏的成员 如果我们在子类中想使用被子类隐藏的成员变量或方法就可以使用关键字super。 final类 final类不能被继承,即不能有子类,如: final class A { … } 将一个类声明为final类一般是由于安全性考虑。 final方法 一个方法被修饰为final方法,则这个方法不能被重写,即final方法的行为不允许子类篡改。 上转型对象 假设,B是A的子类或间接子类,当我们用子类B创建一个对象,并把这个对象的引用放到A类声明的对象中时,比如: A a; a=new B(); 那么就称对象a是子类对象b的上转型对象。 对象的上转型对象的实体是子类负责创建的,但上转型对象会失去原对象的一些属性和功能。 (1)上转型对象不能操作子类声明定义的成员变量;也不能使用子类声明定义的方法。 (2)上转型对象可以操作子类继承的成员变量和隐藏的成员变量,也可以使用子类继承的或重写的方法。 (3)上转型对象不能操作子类新增的方法和成员变量 (4)可以将对象的上转型对象再强制转换到一个子类对象,这时,该子类对象又具备了子类所有属性和功能。 继承与多态 如果一个类有很多子类时,并且这些子类都重写了父类中的某个方法。当我们把子类创建的对象的引用放到一个父类的对象中时,就得到了该对象的一个上转型对象。不同对象的上转型对象调用同一方法可能产生不同的行为。 abstract类 用关键字abstract修饰类称为abstract类(抽象类) 。如: abstract class A { …… } 例如: abstract class A { abstract int min(int x, int y); int max(int x, int y) { return xy?x:y } } 抽象类可以有abstract方法,也可以有非abstract方法,甚至完全没有abstract方法。abstract方法只允许声明,不允许实现。 抽象类不能用new运算符创建对象,需由它的子类实现父类的全部abs
您可能关注的文档
- java 输入输出io.ppt
- Java面向对象技术-8.ppt
- 河科大面向对象程序设计试题.doc
- 04-01 预赛试题.doc
- 椅仔慧 融入地域资源的教材补充与开发修改.docx
- 全国2008年10月高等教育自学考试C++程序设计试题及答案.docx
- Java程序设计10_11_1A卷16开.doc
- 2008年10月全国自考c++程序设计试题.doc
- 2008java考试题.doc
- https3种实现方式.doc
- Unit+1+Teenage+life+Reading+for+Writing2025-2026学年人教版高中英语必修第一册.pptx
- 实验九:固体导热系数的测定.pdf
- 2023年未来版五年级品德与社会下册全册教案.pdf
- 2025年中国铜镀铬地漏市场调查研究报告.docx
- 2023年医院医生工作计划 (模板5篇).pdf
- 2025年中国托架玻璃市场调查研究报告.docx
- 2023年医院医院消防演练应急预案 (3份).pdf
- 2025年中国推拉折叠晾晒架市场调查研究报告.docx
- Unit+1+Teenage+Life+Words+and+Expressions+2025-2026学年高中英语人教版(2019)必修第一册.pptx
- Siemens西门子工业COMOS 数据库 (iDB) COMOS iDB 开发指南 COMOS 数据库 (iDB) COMOS iDB 开发指南使用手册.pdf
最近下载
- 医疗器械 质量手册.doc VIP
- SYB第八步(3)-制定销售和成本计划.ppt VIP
- 2025广东惠州市生态环境局博罗分局和博罗县污染防治攻坚战总指挥部办公室招聘编外人员38人考试备考试题及答案解析.docx VIP
- 2024年浙江省嵊泗县人民医院公开招聘护理工作人员试题带答案详解.docx VIP
- 常用急救药品ppt课件.pptx VIP
- 人教版八年级下册数学期末测试题汇总.doc VIP
- 鄂尔多斯市天安公交集团招聘笔试真题2024.docx VIP
- 鄂尔多斯市天安公交集团招聘笔试真题2024.docx VIP
- 泉州公交集团招聘考试真题2024.docx VIP
- 高中英语语法知识点总结.pdf VIP
文档评论(0)