zoukankan      html  css  js  c++  java
  • 继承

    继承的概念理解:

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

    继承的好处与弊端

    继承的好处:

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

    继承的弊端:

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

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

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

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

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

    this和super关键字:

     关于方法重写:

     

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

    四种权限修饰符:

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

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

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

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

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

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

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

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

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

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

    迎风少年
  • 相关阅读:
    Mac下安装brew
    Mac下安装node.js
    Mac下mysql服务端密码重置及环境配置
    Mac配置jdk以及maven
    Mac下卸载jdk
    34个漂亮的应用程序后台管理界面(系列一)
    ViewState
    get和post
    无刷新 分页评论
    isPostBack原理
  • 原文地址:https://www.cnblogs.com/ZYH-coder0927/p/13500591.html
Copyright © 2011-2022 走看看