zoukankan      html  css  js  c++  java
  • 继承

    继承的概念理解:

    • 继承是面向对象的三大特征之一(封装继承多态)
    • 可以使子类具有父类的属性和方法,还可以在子类中重新定义
    • 子类可以使用父类的非私有成员

    继承的好处与弊端

    继承的好处:

    • 提高了代码的额复用性
    • 提高了代码的维护性

    继承的弊端:

    • 继承让类与类之间的耦合性增强,父类发生变化时子类实现也不得不跟着变化削弱了子类的独立性。

    java中只支持单继承不支持多继承

    子父类中出现同名的成员变量问题:

    在子类中访问一个变量采用的是就近原则:

    • 如果调用一个方法优先使用方法内同名变量
    • 方法内没有则调用子类中的成员变量
    • 子类中没有则使用父类中的成员变量
    • 如果子类中含有父类中也含有并且向同时使用,则父类需要使用super关键字进行区分

    this和super关键字:

     关于方法重写:

     

     父类中的私有静态不能被重写,重写后的方法权限要大于等于父类的方法权限

    四种权限修饰符:

     口诀:p空pp分别对应:类包子全

    继承中构造方法的访问特点:

    • 首先要知道构造方法是用于类的初始化的
    • 子类中所有的构造方法默认都会访问父类的无参构造

    子类在初始化的时候有可能会用到父类中的数据,如果父类没有完成初始化,子类将无法使用父类中的数据

    所以子类初始化之前一定要先完成父类的初始化

    • 每一个子类的构造方法的第一条默认语句都是:super();(就算不写JVM虚拟机在编译时也会自动添加)
    • 如果父类中没有空参构造方法,只有带参构造那么子类只能手动添加duper();带参。

    (注意:this(...)super(...)必须放在构造方法的第一条有效语句,并且二者不能共存

    继承子父类的内存关系图解:

    子类对象在堆内存中会单独存在一块super区域,用来存放父亲的数据:

    以上就是继承的大概知识点~

    迎风少年
  • 相关阅读:
    解决mongodb设备mongod命令不是内部或外部的命令
    Zoj 3545 Rescue the Rabbit(ac自己主动机+dp)
    中国云计算网站的第六次会议
    MYSQL,innodb_buffer_pool_size内存分配
    SharePoint综合Excel数据与Excel Web Access Web部分
    在小发现SQL字符串比较是不是他们的大写和小写敏感
    代码质量初步
    软件开发:速度 vs 质量
    UI概念体系要素
    模式与方法论
  • 原文地址:https://www.cnblogs.com/ZYH-coder0927/p/13500591.html
Copyright © 2011-2022 走看看