书签 分享 收藏 举报 版权申诉 / 133

类型Java 2实用教程第6版PPT1第4章 面向对象(下).pptx

  • 文档编号:1100897
  • 上传时间:2023-11-18
  • 格式:PPTX
  • 页数:133
  • 大小:986.69KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Java 2实用教程第6版PPT1第4章 面向对象下 实用教程 PPT1 面向 对象
    资源描述:

    1、学习目标/Target掌握方法的重写,能够在子类中重写父类方法掌握super关键字,能够在类中使用super关键字访问父类成员了解面向对象中的继承特性,能够说出继承的概念与特点掌握final关键字,能够灵活使用final关键字修饰类、方法和变量掌握抽象类,能够熟练实现抽象类的定义与使用学习目标/Target掌握接口,能够独立进行接口的编写了解Object类,能够说出Object类的常用方法熟悉内部类,能够说出4种内部类的特点掌握多态,能够熟练使用对象类型转换解决继承中的多态问题章节概述/Summary在上一章中,介绍了面向对象的基本用法,并对面向对象的三大特征之一的封装特性进行了详细地讲解。本

    2、章将继续讲解面向对象中与继承和多态相关的知识。目录/Contents010203继承final关键字抽象类和接口目录/Contents0405多态内部类06Object类继承4.14.1.1 继承的概念 先定一个小目标!了解继承的概念,能够说出继承的概念和如何实现类的继承4.1.1 继承的概念现实生活中,说到继承,通常会想到子女继承父辈的财产、事业等。在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系。例如,猫和狗都属于动物,程序中便可以描述为猫和狗继承自动物,同理,波斯猫和巴厘猫继承猫科,而沙皮狗和斑点狗继承自犬科。4.1.1 继承的概念上述动物继承关系如下

    3、图所示。继承关系图谱4.1.1 继承的概念在Java中,类的继承是指在一个现有类的基础上构建一个新的类,构建出来的新类被称作子类,现有类被称作父类。子类会自动继承父类的属性和方法,使得子类具有父类的特征和行为。Java中类的继承4.1.1 继承的概念在Java程序中,如果想声明一个类继承另一个类,需要使用extends关键字,其语法格式如下所示。class 父类 class 子类 extends 父类 类的继承语法格式4.1.1 继承的概念下面通过一个案例学习子类是如何继承父类的,具体代码如下所示。1/定义Animal类 2class Animal 3 private String name;

    4、/声明name属性 4 private int age;/声明age属性./省略getter/setter方法 18 19/定义Dog类继承Animal类 20class Dog extends Animal 21 /此处不写任何代码 22案例一演示4.1.1 继承的概念 23/定义测试类 24 public class Example01 25 public static void main(String args)26 Dog dog=new Dog();/创建一个Dog类的对象 27 dog.setName(牧羊犬);/此时调用的是父类Animal中的setter方法 28 dog.se

    5、tAge(3);/此时调用的是父类Animal中的setter方法 29 System.out.println(名称:+dog.getName()+,年龄:+dog.getAge()30 +,颜色:+dog.COLOR);31 324.1.1 继承的概念案例一运行结果运行代码,控制台显示的运行结果如下图所示。子类除了可以继承父类的属性和方法,也可以定义自己的属性和方法。修改案例一,在子类Dog中增加属性color和相应的getter和setter方法,具体代码如下所示。4.1.1 继承的概念 1/定义Animal类 2class Animal ./省略案例一中Animal类的书写 17 18/

    6、定义Dog类继承Animal类 19class Dog extends Animal 20 private String color;/声明color属性 21 public String getColor()22 return color;23 24 public void setColor(String color)25 this.color=color;26 27案例二演示4.1.1 继承的概念 28/定义测试类 29 public class Example02 30 public static void main(String args)31 Dog dog=new Dog();/创

    7、建并实例化dog对象 32 dog.setName(牧羊犬);/此时访问的是父类Animal中的setter方法 33 dog.setAge(3);/此时访问的是父类Animal中的setter方法 34 dog.setColor(黑色);/此时访问的是Dog类中的setter方法 35 System.out.println(名称:+dog.getName()+,年龄:+dog.getAge()+,36 颜色:+dog.getColor();37 384.1.1 继承的概念案例二运行结果运行代码,控制台显示的运行结果如下图所示。注意:子类虽然可以通过继承访问父类的成员和方法,但不是所有的父类属

    8、性和方法都可以被子类访问。子类只能访问父类中public和protected修饰的属性和方法,父类中被默认修饰符default和private修饰的属性和方法不能被子类访问。4.1.1 继承的概念类的继承注意事项(1)在Java中,类只支持单继承,不允许多继承。也就是说一个类只能有一个直接父类。例如下面这种情况是不合法的。class Aclass Bclass C extends A,B /C类不可以同时继承A类和B类4.1.1 继承的概念类的继承注意事项(2)多个类可以继承一个父类,例如下面这种情况是允许的。class Aclass B extends A /类B继承类Aclass C ex

    9、tends A /类C继承类A4.1.1 继承的概念类的继承注意事项(3)在Java中,多层继承也是可以的,即一个类的父类可以再继承另外的父类。例如,C类继承自B类,而B类又可以继承自类A,这时,C类也可称作A类的子类。例如下面这种情况是允许的。class Aclass B extends A /类B继承类A,类B是类A的子类class C extends B /类C继承类B,类C是类B的子类,同时也是类A的子类4.1.1 继承的概念类的继承注意事项(4)在Java中,子类和父类是一种相对概念,一个类可以是某个类的父类,也可以是另一个类的子类。例如,在第(3)种情况中,B类是A类的子类,同时又

    10、是C类的父类。4.1.2 方法的重写 先定一个小目标!掌握方法的重写,能够重写父类的方法4.1.2 方法的重写在继承关系中,子类会自动继承父类中定义的方法,但有时在子类中需要对继承的方法进行一些修改,即对父类的方法进行重写。在子类中重写的方法需要和父类被重写的方法具有相同的方法名、参数列表以及返回值类型。下面通过一个案例讲解方法的重写,具体代码如下所示。4.1.2 方法的重写 1/定义Animal类 2class Animal 3 /定义动物叫的方法 4void shout()5System.out.println(动物发出叫声);6 7 8/定义Dog类继承Animal类 9class Do

    11、g extends Animal 10/重写父类Animal中的shout()方法 11void shout()12System.out.println(汪汪汪);13 14案例一演示4.1.2 方法的重写 15/定义测试类 16public class Example03 17public static void main(String args)18Dog dog=new Dog();/创建Dog类的实例对象 19dog.shout();/调用Dog类重写的shout()方法 20 214.1.2 方法的重写案例一运行结果运行代码,控制台显示的运行结果如下图所示。脚下留心子类重写父类方法时

    12、的访问权限子类重写父类方法时,不能使用比父类中被重写的方法更严格的访问权限。例如,父类中的方法是public权限,子类的方法就不能是private权限。如果子类在重写父类方法时定义的权限缩小,则在编译时将出现错误。脚下留心子类重写父类方法时的访问权限 1/定义Animal类 2class Animal 3 /定义动物叫的方法 4 public void shout()5System.out.println(动物发出叫声);6 7 8/定义Dog类继承Animal类 9class Dog extends Animal 10/重写父类Animal中的shout()方法 11private void

    13、 shout()12System.out.println(汪汪汪);13 14下面我们对案例一进行修改,修改后的代码如下所示。案例二演示脚下留心子类重写父类方法时的访问权限 15/定义测试类 16public class Example04 17public static void main(String args)18Dog dog=new Dog();/创建Dog类的实例对象 19dog.shout();/调用Dog类重写的shout()方法 20 21脚下留心子类重写父类方法时的访问权限案例二运行结果运行代码,控制台显示的运行结果如下图所示。脚下留心子类重写父类方法时的访问权限案例二运行

    14、结果分析从上图可以看出,编译文件报错“com.itheima.Dog中的shout()无法覆盖com.itheima.Anima的shout()”,这是因为子类重写父类方法时,不能使用比父类中被重写的方法更严格的访问权限。4.1.3 super关键字 先定一个小目标!掌握super关键字,能够在类中使用super访问父类的属性和方法4.1.3 super关键字当子类重写父类的方法后,子类对象将无法访问父类中被子类重写过的方法。为了解决这个问题,Java提供了super关键字,使用super关键字可以在子类中访问父类的非私有方法、非私有属性以及构造方法。下面详细讲解super关键字的具体用法。4

    15、.1.3 super关键字super关键字的用法一(1)使用super关键字访问或调用父类的非私属性或非私有方法,具体格式如下。super.属性super.方法(参数1,参数2)4.1.3 super关键字./省略定义Animal类 9 /定义Dog类继承Animal类 10class Dog extends Animal 11 /重写父类Animal中的shout()方法,扩大了访问权限 12public void shout()13 super.shout();/调用父类中的shout()方法 14System.out.println(汪汪汪);15 16 public void prin

    16、tName()17 System.out.println(名字:+super.name);/访问父类中的name属性 18 19下面通过一个案例学习使用super关键字访问父类的成员变量和成员方法,修改4.1.2中的案例二,具体代码如下所示。案例一演示4.1.3 super关键字 20/定义测试类 21public class Example05 22public static void main(String args)23Dog dog=new Dog();/创建Dog类的对象 24dog.shout();/调用Dog类重写的shout()方法 25 dog.printName();/调用Dog类中的printName()方法 26 274.1.3 super关键字案例一运行结果运行代码,控制台显示的运行结果如下图所示。由上图可知,控制台打印了“动物发出叫声”“名字:牧羊犬”,说明子类通过super关键字成功地访问了父类的成员变量和成员方法。4.1.3 super关键字super关键字的用法二(2)使用super关键字调用父类中指定的构造方法,具体格式如下。super(参数1,参数

    展开阅读全文
    提示  兔兜文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Java 2实用教程第6版PPT1第4章 面向对象(下).pptx
    链接地址:https://www.tudouwenku.com/doc/1100897.html

    若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理!

    copyright@2008-2023 兔兜文库 版权所有

    鲁公网安备37072502000182号  ICP备案号:鲁ICP备2021021588号-1  百度保障

    兔兜文库
    收起
    展开