zoukankan      html  css  js  c++  java
  • 继承——访问成员变量,访问成员方法,访问构造方法

    四个字,共性抽取;

    三个知识点:访问成员变量,访问成员方法,访问构造方法(创建对象new时候用到)

    类中构造方法不写默认一个无参的构造方法,public classNmae(){};

    构造方法用于创建对象;

    写了就用写了的无参或有参构造方法,默认的无参就没有了,

    子类在继承的时候,不写是要默认先加载父类的构造方法,默认调用无参的,如果父类重载了有参构造方法,且没有再写显式的无参构造方法,则在子类中再调用父类无参构造方法就会编译报错,即子类中的super();

    super()必须是方法体中的第一行;

    super()调用父类的构造方法只能在子类的构造方法中调用,且必须第一行,而且如果父类有构造方法重载的话,只能调用一个;

    super点属性或者方法可以在子类的非构造方法的其他方法体中;

    类的加载顺序:

     (1) 父类静态代码块(包括静态初始化块,静态属性,但不包括静态方法)
    (2) 子类静态代码块(包括静态初始化块,静态属性,但不包括静态方法 )
    (3) 父类非静态代码块( 包括非静态初始化块,非静态属性 )
    (4) 父类构造函数
    (5) 子类非静态代码块 ( 包括非静态初始化块,非静态属性 )
    (6) 子类构造函数

     子类访问成员变量:;

    子类访问成员方法:

     心得:

    内存类对象 只能 内存类引用对象名 接收,只能访问该父类自己的成员变量和成员方法;

    堆内存子类对象 用 栈内存子类引用对象名 接收,成员变量和成员方法都优先访问子类的,没有就向上找;

    堆内存子类对象 用 栈内存父类引用对象名 接收,即多态,成员变量和成员方法还是优先访问子类的,没有就向上找,但是如果父类没有的话,编译会报错,编译通过运行时还是优先访问子类的;

    总结:访问成员方法,都是编译看左,运行看右;

    访问成员变量,编译看左,运行也看左;

  • 相关阅读:
    使用百度字体编辑器删除不必要字体,减少字体文件体积
    使用npm安装webpack失败时,可能被墙要为cmd命令行设置代理
    让字体图标代替雪碧图,减少请求带宽
    隐藏浏览器原生的滚动条
    台式机安装CentOS7.6 Minimal ISO系统并增加图形化桌面
    像我这样笨拙地生活(廖一梅)--节选
    随心随意亦舒经典语录
    file / from install of XXX conflicts with file from package filesystem-XXX
    nginx代理php项目的websocket
    Redis4配置文件详解
  • 原文地址:https://www.cnblogs.com/wmqiang/p/10632066.html
Copyright © 2011-2022 走看看