zoukankan      html  css  js  c++  java
  • Java 面向对象(九)面向对象特征之二:继承性(inheritance)

    一、继承

      1、为什么要有继承?

        多个类中存在相同的属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。

      2、类继承语法规则

        语法规则:

    class Subclass  extends  SuperClass{}

        此处的多个类称为子类(派生类,单独的这个类称为父类(基类或超类。可以理解为:“子类 is a 父类”。

      3、继承的注意点

        (1)一旦子类A继承父类B以后,子类A中就获取了父类B中声明的所有的属性和方法。

        (2)特别的,父类中声明为private的属性或方法,子类继承父类以后,仍然认为获取了父类中私有的结构。只有因为封装性的影响,使得子类不能直接调用父类的结构而已。

          关于继承的规则子类不能直接访问父类中私有的(private)的成员变量和方法,但是可以通过 setter与 getter 方法来调用。
         

        (3)子类继承父类以后,还可以声明自己特有的属性或方法:实现功能的拓展。

        (4)Java 中,继承的关键字用的是“extends,即子类不是父类的子集,而是对父类的“扩展” 

        (5)Java 只支持单继承和多层继承,不允许多重继承;

        •  一个子类只能有一个父类;
        •  一个父类可以派生出多个子类;

              

             

      4、继承的好处

        (1)继承的出现减少了代码冗余,提高了代码的复用性;

        (2)继承的出现,更有利于功能的扩展;

        (3)继承的出现让类与类产生了关系,提供了多态的前提;

        注意:不要仅为了获取其他类中某个功能而去继承;

      5、Java 中关于继承性的规定

        (1)一个类可以被多个子类继承;

        (2)Java 中类的单继承性:一个类只能有一个父类;

        (3)子父类是相对的概念;

        (4)子类直接继承的父类,称为:直接父类。间接继承的父类称为:间接父类;

        (5)子类继承父类以后,就获取了直接父类以及所有间接父类中声明的属性和方法;

    二、继承的案例

      

      

       

       注意Student类继承了父类Person的所有属性和方法,并增加了一个属性schoolPerson中的属性和方法,Student都可以使用。

       

    三、根父类——Object类

      1、如果我们没有显式的声明一个类的父类的话,则此类继承于java.lang.Object类;

      2、所有的java类(除java.lang.Object类之外)都直接或间接的继承于java.lang.Object类;

      3、意味着,所有的java类具有java.lang.Object类声明的功能。

    四、

    五、

  • 相关阅读:
    Redis12:客户端
    Redis11:事件
    Redis10:RDB持久化与AOF持久化
    Redis09:过期时间与删除策略、redis中的特殊线程
    Redis08:redis中的对象与存储形式
    Redis07:底层:基数树radix tree
    Redis06:底层:跳跃链表skiplist
    C++基础知识:异常处理
    C++基础知识:STL简介
    C++基础知识:泛型编程
  • 原文地址:https://www.cnblogs.com/niujifei/p/13795847.html
Copyright © 2011-2022 走看看