- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA语言程序设计 继承性和多态性
Java概述 第4章 继承性和多态性 主要内容 4.1 继承性 派生类的定义 super关键字 protected和final关键字 4.2 多态性 4.3 抽象类和接口 抽象类 接口 4.4 初始化块 关于继承的一些比喻 孩子必须只有一个父亲 孩子继承父亲的一切非私有的数据方法,并可以改写父亲的方法 父亲有的孩子都有了,所以孩子可以代替父亲 孩子有的,父亲不一定有,所以父亲不能代替孩子 如果父亲有愿望,儿子可以实现,也可以不实现。如果儿子是(final)类,也就是儿子不打算再生儿子,那么儿子一定要实现父亲的所有愿望。 4.1 继承性 类具有继承性,子类对父类的继承关系体现了特殊和一般的关系。 通过继承可以更有效地组织程序结构,明确类间关系,并充分利 用已有的类来完成更复杂、深入的开发。 Java中的所有类都是java.lang.Object类的子类。 子类继承父类中一切非 private 修饰的属性和方法 Public :公开的,比如父亲的名字,年龄 Protected :局部公开,比如父亲的钱,在家庭范围内公开 Private : 不公开,父亲自己要必威体育官网网址的,比如。。。 继承性 4.1.1 派生类的定义 Java语言中派生类的定义格式如下: 继承性 示例:参看例4.1 // Cylinder1.java public class Cylinder1 extends Circle { private double length = 1; // 新增的数据成员 public double getLength() { return length; } public void setLength(double length) { this.length = length; } public double findVolume() { // 返回圆柱体的体积 return findArea() * length; // findArea()是从基类Circle继承下来的方法 } public String toString(){ // 覆盖Object类中的toString()方法 return (圆柱体的高为: + getLength() + 圆柱体的半径为: + super.getRadius()); } }? // TestCylinder1.java public class TestCylinder1{ public static void main(String[]args){ Cylinder1 cylinder1 = new Cylinder1(); System.out.println(cylinder1.toString()); System.out.println(圆柱体的体积为: + cylinder1.findVolume()); } } 4.1.2 super关键字 1. 数据成员的隐藏 数据成员的隐藏是指在子类中重新定义一个与父类中已定义的数据成员名完全相同的数据成员,即子类拥有了两个相同名字的数据成员,一个是继承父类的,另一个是自己定义的。 当子类引用这个透明的数据成员时,默认操作时他自己定义的数据成员,父类那里继承来的数据成员被隐藏。 当子类要操作继承自父类的同名数据成员时,可使用关键字super引导。 super关键字 2. 成员方法的覆盖 子类可以重新定义与父类格式完全相同(包括方法名、方法形参的个数和类型、方法返回值的类型)的成员方法,实现对父类方法的覆盖。 只有当实例方法能被访问时,才能进行方法覆盖。私有方法不能被覆盖. 静态方法(类方法)能被继承,但不能被覆盖。如果重写,则父类的静态方法被隐藏。 子类在重新定义父类已有的方法时,应保持与父类完全相同的方法名、返回值类型和参数列表,否则就不是方法的覆盖,而是子类定义自己特有的方法,与父类的方法无关。 super关键字 3. super关键字 super表示的是当前对象的直接父类对象,是当前对象的直接父类对象的引用。 super的使用方法有三种: (1) 访问直接父类隐藏的数据成员,其使用形式如下: super.数据成员 (2) 调用直接父类中被覆盖的成员方法,其使用形式如下: super.成员方法(参数) (3) 调用直接父类的构造方法,其使用形式如下: super(参数) super关键字 示例:参看例4.2 public class Cylinder2 extends Circle{ private double length; ? public Cylinder2() { super();
您可能关注的文档
- Introduction of TESCO Own-label Vegetable--TESCO自有品牌蔬菜简介.ppt
- Introduction to Computing 计算概论.ppt
- Introduction to College English主讲教师_张家瑞.ppt
- introduction to six sigma 課件.ppt
- investment_-1课堂.ppt
- In_The_Earthquakes_的证.pptx
- IP001项目管理与软件项目管理.pptx
- IP102-07软件项目进度计划.ppt
- IP104-13软件项目集成计划.pptx
- iPhone+平台游戏中国市场研究+v01.pptx
最近下载
- 2014【词汇】大学英语四级词汇训练1200题.doc
- 2025年安徽省科创投资有限公司社会招聘10人笔试备考试题及答案解析.docx
- 三年级下册语文分层作业优秀设计案例22《我们奇妙的世界》及答案.pdf
- 鲁教版(五四制)数学七年级上册 6.1 《函数——当函数遇上爱情》(课件).pptx
- 省级优秀课件小学红色文化主题班会《中国工人第一座工会大厦》.pptx VIP
- 《预防保健策略》课件.pptx VIP
- 甘草及甘草复方制剂不良反应概述.pdf VIP
- 23S516 混凝土排水管道基础及接口.pdf VIP
- 众泰E200维修手册-电路图册.pdf VIP
- 北师大版三年级数学上册集体备课 第三单元 加与减 教材分析.docx VIP
文档评论(0)