Java培训教程-继承和多态.docx

Java培训教程-继承和多态.docx

ID:50826958

大小:96.05 KB

页数:9页

时间:2020-03-15

Java培训教程-继承和多态.docx_第1页
Java培训教程-继承和多态.docx_第2页
Java培训教程-继承和多态.docx_第3页
Java培训教程-继承和多态.docx_第4页
Java培训教程-继承和多态.docx_第5页
资源描述:

《Java培训教程-继承和多态.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1.1继承的作用继承是java面向对象的三大特征之一,继承可以解决编程中代码冗余的问题,是实现代码重用的重要手段之一。继承是软件可重用性的一种表现,新类可以在不增加自身代码的情况下,通过从现在的类中继承其属性和方法,来充实自身内容,这种现象或行为就成为继承。这时候新类就称为子类,现有的类称为父类。说一说如下两个类有什么问题?如何优化?讲解思路:采用提问的方式和学生互动,可以让学生动起脑来,为后期学生们掌握继承做铺垫。由图可以很直观的看出两个类有的属性和方法是相同的。·使用继承修改后通过上面的形式,可以减少代码量,方便修改代码。

2、1.2使用继承定义宠物类1)编写父类[访问修饰符]classpet{//公共的属性和方法}2)编写子类,继承父类[访问修饰符]classDogextendsPet{//子类特有的属性和方法}总结:继承是java实现代码重要的重要手段之一。Java中只支持单根继承,即一个类只能有一个直接父类。针对上述的案例,让学生们自己动手写一遍,并编写测试案例。提问:上述案例中,如Dog类或者Penguin需要和Pet类的print()方法有不同的实现,怎么办?子类重写父类的方法即可(方法重写:在子类中根据需求对父类继承的方法进行重新编写)注

3、:重写方法和被重写方法必须具有相同的方法名和参数列表重写方法的返回值类型必须和被重写方法的返回值类型相同或者是其子类重写方法的不能缩小被重写方法的访问权限。升级上述案例:在Dog类以及Penguin类中重写父类Pet类的print():类的print()需要分别输出Dog的品种与Penguin的性别编写测试类。讲解需求,采用记事本给学员们打一个具体的模板,提示学员实现思路。提问:方法重写与方法重载的区别?答案:重写是指子类继承父类,子类里重新编写了父类中的同名(同参数)方法,也就是覆盖了父类的方法。(一般情况指抽象的父类方法)

4、重载是:指在一个类里,方法名相同(返回类型也要相同),参数不同(参数个数不同,或者参数类型部同);提问:在上述案例中,Dog或Penguin如何访问Pet的成员?访问父类构造方法super(参数);访问父类属性或方法super.属性名/方法名();super关键字和this关键字的作用类似,都是将被屏蔽了的成员变量、成员方法变为可见可用。super用在子类中,访问直接父类中的被屏蔽的内容,进一步提高代码的重用性和灵活性。super关键字不仅可以访问父类的构造方法,还可以访问父类的成员,包括父类的属性、一般方法等,无法通过sup

5、er访问private成员1.3Object类Object类是所有类的父类,Object类被子类经常重写的方法以下是Object类的部分方法:方法说明toString()返回当前对象本身的有关信息,按字符串对象返回equals()比较两个对象是否是同一个对象,是则返回truehashCode()返回该对象的哈希代码值getClass()获取当前对象所属的类信息,返回Class对象equals()方法,在java.lang.String类重写了Object类中的一种。1.4实现多态的表现形式1.4.1认识多态多态一词的通常含义是

6、指能够呈现出多种不同的形式或形态,而在程序设计的术语中,它意味这一个特定类型的变量可以引用不同类型的对象,并且能够自动地调节引用的对象的方法。1.4.2构造方法执行顺利:升级案例:需求:升级前一个上机练习,在Dog类以及Penguin类中使用super调用父类Pet类的成员子类的print()需要分别输出Dog与Penguin的各种属性信息编写测试类讲解思路:根据之前学的类与对象,访问一个类的属性和方法时要先创建一个对象,然后采用对象.属性,对象.方法的方式去访问。那么在这里也是同样的道理。提问:1)代码输出什么?classA

7、{publicA(){System.out.println("父类的构造方法");}}publicclassBextendsA{publicB(){System.out.println("子类的构造方法");}publicstaticvoidmain(String[]args){Bb=newB();}}答案:先输出:父类的构造方法然后输出:子类的构造方法。知识点:在执行子类时,先执行父类的构造方法,再执行子类的构造方法,是构造方法不需要调用,可以直接执行。2)提问:如下主人类中给宠物看病的方法,如果又需要给XXX宠物看病,怎么

8、办?//给狗看病publicvoidcure(Dogdog){if(dog.getHealth()<50){dog.setHealth(60);System.out.println("打针、吃药");}}//给企鹅看病publicvoidcure(Penguinpenguin

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。