Java第七章继承、多态、抽象类和接口

目录

7.1 类的继承

7.2Object类

继承和多态是面向对象开发中非常重要的一组概念。继承和多态使用得当,整个程序的架构将变得非常有弹性,同时可以减少代码的冗余性。继承机制下,用户可以复用一些定义好的类,减少重复代码的编写。多态机制下,用户可以动态调整对象的调用,降低对象之间的依存关系。为了优化继承与多态,一些类除了可继承父类,还需要使用接口的形式。Java中的类可以同时实现多个接口,接口被用来建立类与类之间关联的标准。正因为具有这些灵活、高效的机制,Java语言才更具有生命力。

7.1 类的继承
继承在面向对象开发思想中是一个非常重要的概念,它使整个程序架构具有一定的弹性。在程将中复用一些已经定义完善的类,不仅可以减少软件开发周期,也可以提高软件的可维护性和可扩展性,本节将详细讲解类的继承。

在Java 语言中,一个类继承另一个类需要使用关键字extends,关键字extends的使用方法如下:class Child extends Parent{}

因为Java只支持单继承,即一个类只能有一个父类,所以类似下面的代码是错误的:

class Child extends Parent1,Parents2{}

子类在继承父类之后,创建子类对象的同时也会调用父类的构造方法。

【例7.1】创建子类对象,观察构造方法执行顺序

父类Parent 和子类Child 都各自有一个无参的构造方法,在main()方法中创建子类对象时,Java虚拟机会先执行父类的构造方法,然后再执行子类的构造方法。

 

 运行结果如下

 

 子类继承父类之后可以调用父类创建好的属性和方法

 

 

 

子类Mobile 类仅创建了一个显示屏属性,剩余的其他属性和方法都是从父类Telephone 类中继

承的。 Java虽然不允许同时继承两个父类,但不代表没有多继承的关系,可以通过类似“祖父>父>儿子>

孙子”的方式实现多代继承。

例如,绝大多数动物有眼睛、鼻子和嘴,犬类继承动物类,所以犬类也有眼睛、鼻子和嘴,哈士

get

奇是犬类的一个品种,犬类有的特性哈士奇类都有。但哈士奇的眼睛、鼻子和嘴并不是从犬类继承的,

而是从动物类继承的。用Java代码编写则如下:

 

这三个类的继承关系就是Husky类继承Dog类继承Animal类,虽然Husky类没有直接继承Animal类,但是Husky类可以调用Animal类提供的可被继承的成员变量和方法。

7.2Object类
在开始学习使用class关键字定义类时,就应用到了继承原理,因为在Java中所有的类都直接或间接继承了java.lang.Object类。Object类是比较特殊的类,它是所有类的父类,是Java类层中的最高层类。用户创建一个类时,除非已经指定要从其他类继承,否则它就是从java.lang.Object类继承而来的。Java中的每个类都源于java.lang.Object类,如String类、Integer类等都是继承于Object类。除此之外,自定义的类也都继承于Object类。由于所有类都是 Object 类的子

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值