- 1、本文档共67页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目6 类的继承与多态 6.1 任务一 掌握类的继承 继承:子类拥有父类的属性和方法 我们通过一个实际应用问题来引出类的继承这个问题的讲解。 6.1.1 继承的基本概念 【例6-1】定义一个普通人的类和学生类。 public class Person { public String name; public int age; public String getInfo(){...} } public class Student { public String name ; public int age; public String school; public String getInfo(){...} public String study(){...} } 针对这种情况,Java引入了继承这个概念,只要表明类Student继承了类Person的所有属性和方法,就不用在类Student中重复书写类Person中的代码了,更确切的说就是简化了类的定义。 我们通过extends关键字来表明类Student 具有类Person的说有属性和方法 上面的两个类可以简写成下面的代码: 【例6-2】简写的学生类。 public class Person { public String name; public int age; public String getInfo(){...} } public class Student extends Person{ public String school; public String study(){...} } 在类的继承中有这样一些细节问题: 1.通过继承可以简化类的定义,可以实现代码重用,在上面的例子中我们重用了基类的属性和方法。 2.Java只支持单继承,不允许多重继承。也就是说,在Java中一个子类只能有一个父类,不允许一个类直接继承多个父类,但一个类可以被多个类继承。 3.Java中可以有多层继承。即一个类可以继承为某一个类的子类。如类Y继承了类X,类Z又可以继承类Y,那么类Z也间接继承了类X。这种应用如下所示: class X { } class Y extends X { } class Z extends Y{ } 4.子类继承父类所有的成员变量和成员方法,但不继承父类的构造方法。在子类的构造方法中可以使用super(参数列表)调用父类的构造方法。如: public class Student extends Person{ public Student(String name,int age,String school){ super(name,age); this.school=school; } } 5.如果子类的构造方法中没有显示的调用父类的构造方法,也没有使用this关键字调用重载其他的构造方法,则在产生之类的实例对象时,系统默认调用父类无参数的构造方法,也就是说在下面的的类B中定义的构造发昂法中,写不写super()语句效果是一样的。 public class B Person A{ public B(){ super();//有没有这一句,效果都是一样的 } } } public class Student extends Person { public void study() { System.out.println(学习中...); } public static void main(String[] args) { Person p = new Person(); = 张三; p.age = 35; p.getInfo(); Student s = new Student(); = 李四; s.age = 18; s.getInfo(); s.study(); } } 6.1.2 继承的实现 对象中的成员变量的初始化过程是按照下述步骤进行的: 1.分配成员变量的存储空间并进行默认的初始化,就是用new关键字产生对象后,对类中的成员变量进行初始化赋值。 2.绑定构造方法参数,就是new Person(实际参数列表)中所传递的参数赋值给构造方法中的形式参数变量。 3.如果有this()调用则调用相应得重载构造方法(被调用的重载构造方法又从步骤(2)开始执行这些流程),被调用的重载构造方法执行流程结束后,回到当前构造方法当前构造方法直接跳到步骤(6)执行。 4.显式或隐式追溯调用父类的构造方法(一直到Object类为止,Object是所有Java类的最顶层父类),父类的构造方法又从步骤(2)开始对父类
您可能关注的文档
- 361°经典英文电影赏析-习题答案-张晓青-51703036.doc
- Access数据库案例教程(第二版)-电子教案-应红-51702655.ppt
- C2程序设计-电子教案第2章 变量与表达式.ppt
- C3程序设计-电子教案第3章 流程控制与函数.ppt
- IT产品销售与服务管理-电子教案项目二.ppt
- Java程序设计项目教程-项目八 输入输出流.ppt
- Java程序设计项目教程-项目二 Eclipase基本操作.ppt
- Java程序设计项目教程-项目九 图形用户界面设计.ppt
- Java程序设计项目教程-项目七 异常处理和多线程.ppt
- Java程序设计项目教程-项目三 Java基础.ppt
最近下载
- 大气污染防治项目储备库入库要求项目绩效目标申报表.pdf
- ppt课件-2021新中国史党校党课精品课件.pptx VIP
- 纷享销客使用指南试题及答案.doc
- 2023CSCO前列腺癌诊疗指南.docx
- 2024至2030年中国体育健身休闲行业市场深度研究及投资规划建议报告.docx
- 民事再审申请书(物业服务合同纠纷)民事再审申请书(物业服务合同纠纷).pdf
- (完整word版)高考英语作文练习纸(答题卡)6.pdf
- 下三手的判断-中盘篇.清晰一般加藤正夫.pdf
- 《石油化工工程数字化交付标准+GBT+51296-2018》详细解读.pptx
- 《海底100层的房子》绘本教案(内附高清绘本图) .pptx VIP
文档评论(0)