zoukankan      html  css  js  c++  java
  • 阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第1节 继承_12-super与this关键字图解

    先定义一个父类。里面定义成员变量和成员方法


    子类继承父类,也有成员变量和成员方法,成员方法是重写了父类的。能写Override就写。这样看的就更加清楚。

    子类定义父类没有的方法、里面分别输出了三个num的值


    创建子类对象。调用show方法

    输出的结果






    子类的method里面调用父类的method方法

    这样子类在调用method的时候,会去把父类的执行一遍。然后再去执行子类的

    这既是刚才写的点的简略版

    内存图

    橙色的super_class在最后编译后的class文件在子类上是带着的
    这个橙颜色的特殊标记,是用来干什么的呢?它其实是一个指向,指向了父类

    就是在子class做一个标记。告诉它父亲是谁。就好比写的extends关键字

    main方法先进站

     main方法进栈就要看他做了什么事,首先是创建了一个子对象。凡事new出来的都在堆当中


    今天的这个子可不是单纯的子,因为是有几成关系的子

    子类对象当中,包含一个完整的父类结构。所以一定是先把父类构造完了,再在父类的外围写上子类的内容


    super代表里面的。this代表外面的


    new了一个对象。0x666的地址就会赋值给zi这个对象

    这个对象和以往的区别,不再是一层嵌套,而是两层嵌套


    zi调用show方法,show只在子类中才有。所以。show方法进栈

    第一个num没有修饰符,就会优先使用局部变量


    this是蓝色 的指向

    super是绿色的指向


    调用zi的method。zi的method优先进栈



    子的method里面有个super的调用,调用的就是父类的method

    所以还要再进栈。父的mehtod进栈














     

  • 相关阅读:
    响应码异常HttpStatus not ok!statusCode:307
    SpringBoot的web项目使用JRebel启动错误
    SpringBoot启动遇到的找不到spring模块的怪事
    Redis(一)
    Redis一主二从Sentinel监控配置
    Redis命令
    IDEA
    sql server常用函数积累
    char,varchar和nvarchar有什么区别?
    SQL SERVER里的锁机制
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11213258.html
Copyright © 2011-2022 走看看