zoukankan      html  css  js  c++  java
  • 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.如果说我们的方法是【继承父类方法】子类继承方法先压栈,之后会把内部父类的方法进行压栈。最后完成一整套操作。

  • 相关阅读:
    中煜软件,数据库删除凭证
    excel vba获取拼音
    windows server 2012 R2 远程桌面授权模式尚未配置
    用C语言实现窗口抖动
    java修饰符
    Java对象和类
    Java基本语法
    Java开发环境笔记
    我的第一个Java程序和Java简介
    笔记本如何设置插入USB鼠标自动禁用触摸板
  • 原文地址:https://www.cnblogs.com/tushao/p/14026576.html
Copyright © 2011-2022 走看看