zoukankan      html  css  js  c++  java
  • 面向对象之继承(1)

    1、继承的作用:

      通过继承 将多个类中的相同的内容摘取出来 变成一个新的类 让其他类和当前新的类产生关系 达到代码复用性的目的,可以更好的维护类和类之间的关系

    2、如何继承

      Class A extend B

        A是B的子类(派生类)

        B是A的父类(超类/基类)

    3、继承的注意事项:

      继承在java中只支持单继承,一个子类只能有一个父类,但是一个父类可以有多个子类

      子类继承父类,重写父类的方法,子类可以获得父类的部分功能。

        子类不能从父类继承的:private修饰的方法、final修饰的方法、父类构造器

        父类static修饰的方法子类可以继承但不能重写

    4、子类创建对象时会导致父类加载,先调用父类的构造器

    5、子类继承父类时不能继承父类的构造器,但是可以调用父类的构造器

      如果没有默认的空构造,要调用父类的有参构造,就必须用关键字super显式地编写调用父类构造器的语句,并配备参数列表

      

      因为会先调用父类的构造器,所以运行的结果是:

      证明-4;

    6、子类重写父类方法,默认情况下会调用子类重写的方法。子类对象调用父类原来的方法,可以通过super.调用

        

      

    7、因为java只支持单继承,所以当A继承B不能满足需求时,较好的方法是B继承C,多层继承。

       

      以上是一个多层继承简单的例子,学生继承人的特征,并有自己新的特征,坏学生继承学生,有相同的day方法,但有不同的表现。

      多层继承较好地解决了前面继承无法满足的要求,但是继承链过长容易导致代码不易维护,后期功能拓展很麻烦。

    8.当一个类没有显式地继承一个类时,默认会隐式地继承Object类

       

      以上代码可以Person类的父类其实就是Object,在Person类中可以使用Object的资源和方法,如toString方法

    9、继承的重写

      子类重写父类要遵守以下规则:

        (1)方法名/形参列表相同

        (2)子类的返回值类型/抛出异常  小于等于 父类

        (3)子类的修饰符权限 大于等于 父类

      检验重写:@Override注解

        如果加上该注解没有出错就是重写了父类的方法,否则就没有重写

  • 相关阅读:
    【myEcplise2015】导入喜欢的主题
    【SVN】删除SVN上的历史资源路径和SVN上的历史用户信息
    【Linux】linux命令大全
    【Linux】在虚拟机上安装CentOS7
    Spring MVC+Mybatis 多数据源配置
    Spring 加载类路径外的资源文件
    OkHttp使用详解
    在虚拟机搭建JStrom
    在Windows下搭建RocketMQ
    解决confluence的乱码问题
  • 原文地址:https://www.cnblogs.com/dhome/p/9490484.html
Copyright © 2011-2022 走看看