• 2020.11.23


    继承
    成员方法不重名
    如果子类父类不重名,调用不会有仍和问题,子类找不到就去父类里面找
    如果出现了子类和父类成员方法重名-------重写(override),这是一种特殊情况,叫做【方法重写】

    什么是方法重写
    方法重写就是出现于父类一模一样的方法,【声明不变,重新实现方法体内容】;

    方法重写特点
    1.方法重写前提是继承
    2.方法名,参数列表,返回值类型完全一样
    3.方法重写在子类中

    为什么要方法重写
    子类可以根据需要,定义特定于自己的行为,一方面沿袭了父类的功能名称,又根据子类需要重写方法从而进行功能扩展

    方法重写设计原则
    对于已经投入使用的方法不要去修改,重写之后加入新方法就可以了

    重写与重载的关系
    重写:必须先继承,方法名一样,参数列表一样,返回值类型一样,在子类中
    重载:方法名一样,参数列表不一样,返回值无关,在本类中

    继承后的特点----构造方法
    1.构造方法名和类名一致--------子类无法继承父类当中的构造方法
    2.一半用来初始化成员变量,子类初始化的时候,必须先进行父类初始化。子类构造方法中有一个默认的super()方法,所以父类初始化完成之后才会完成子类初始化,因为子类可以直接使用父类的成员变量,所以父类初始化先于子类初始化完成的。

    super和this的区别
    super调用父类,this调用本类。
    1.父类的空间优先于子类空间创建所以每次初始化子类空间,都会先初始化父类对象,再创建子类对象,
    2.子类对象内部就包含了他父类空间,体现就是子类构造方法调用的时候,会优先调用父类构造方法。
    3.所以能使用父类当中的成员属性很成员方法,如果父类成员非私有,所以就能随意使用,私有就只能通过公有方法调用。

    1.子类对象开始创建之前,先执行内部默认的super()方法,指向父类的内存地址,他们都在【方法区】,
    2.测试类里面main方法在【栈内存】,new对象的时候,转到堆内存,
    3.子类对象new出来空间之前会先执行父类构造方法,new出来一个父类空间,再创建出来子类空间,父类空间在子类空间之内。
    4.父类空间是【super】空间,子类空间是【this】空间,子类空间的地址返回给我们的【Zi zi=】,然后子类的【非继承方法】开始在栈空间内部进行压栈
    5.方法内部的局部变量如果是基本数据类型,那么就不会进入常量池就待在栈空间,方法调用用到this或者supre就会去相应的空间调用。
    6.如果说我们的方法是【继承父类方法】子类继承方法先压栈,之后会把内部父类的方法进行压栈。最后完成一整套操作。

  • 相关阅读:
    记录opencv使用extractChannel获取单通道时访问报错
    win10系统桌面上用户账户文件夹名变英文的解决方法
    java poi导出excel 带图片内容
    fastadmin相关文档
    tfrxbarcode2dview 和 tfrxbarcode not found 解决办法 ,自带的Fastreport添加条形码之后,一运行就出错
    P4887[模板]莫队二次离线(第十四分块(前体))
    P4557[JSOI2018]战争【凸包,闵可夫斯基和】
    P5113Sabbat of the witch【分块,基数排序】
    Loj#2474「2018 集训队互测 Day 3」北校门外的未来【LCT】
    学号20192411 202120222 《网络与系统攻防技术》实验五实验报告
  • 原文地址:https://www.cnblogs.com/tushao/p/14026576.html
Copyright © 2020-2023  润新知