• 继承


    继承的概念理解:

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

    继承的好处与弊端

    继承的好处:

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

    继承的弊端:

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

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

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

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

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

    this和super关键字:

     关于方法重写:

     

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

    四种权限修饰符:

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

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

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

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

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

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

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

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

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

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

    迎风少年
  • 相关阅读:
    KALI LINUX 核心概念讲解,持续更新
    KALI LINUX 工具大全之密码破解 --- BruteSpray ( 暴力喷雾 )
    android studio的 gradle 依赖同步错误解决方法
    安卓逆向的初步研究--从某恋app入手
    nc浏览器的十宗罪
    手机重要文件目录(换新机可能要用到)
    国产手机的谷X服务
    安卓手机设置的那些琐事
    办公中遇见的那些问题
    装系统遇到的那些问题
  • 原文地址:https://www.cnblogs.com/ZYH-coder0927/p/13500591.html
Copyright © 2020-2023  润新知