当前位置: 首页 > news >正文

java基础学习 day42(继承中构造方法的访问特点,this、super的使用总结)

  1. 继承中,构造方法的访问特点
  • 父类的构造方法不会被子类继承,但可以通过super()调用父类的构造方法,且只能在子类调用,在测试类中是不能手动单写构造方法的。
  • 子类中所有的构造方法默认先调用父类的无参构造,再执行自己构造方法的其他代码
  1. 为什么会先默认调用父类的无参构造?
  • 子类在初始化的时候,有可能会使用到父类中的数据,如果此时父类中的数据没有完成初始化,只是单单定义了,子类就无法使用该父类的数据
  • 所以子类初始化之前,一定要调用父类构造方法完成父类数据空间的初始化
  1. 怎么调用父类构造方法的?
  • 子类构造方法的第一行语句默认都是:super(),不写虚拟机也会自动加上,且在有效代码第一行,写了虚拟机就不加了,但必须在有效代码第一行(注释不算)
  • 如果想调用父类有参构造,必须手动书写带参数的super()进行调用
  1. this的使用总结
  • this:理解为一个局部变量,表示当前方法调用者的地址值,且仅在该方法内有效
  • 类的成员方法,构造方法内部都隐含了this变量(作为形参存在),当该方法被调用时,虚拟机就会把调用者的地址值赋给this
  • 类的方法内不与局部变量重名的成员变量,变量名前也隐含了this
  • 记住this只是在类的方法(成员方法,构造方法)内的一个局部变量。相反,this不是在创建对象时,被包含在对象里的。
  1. super的使用总结
  • 代表父类的存储空间
  1. this和super的使用方式
    在这里插入图片描述
  • 若类的成员变量与局部变量不重名,那么前面的this可以省略不写
  • 在类里调用本类的成员方法时,前面的this也可以省略不写
  • this():
    a. 仅在构造方法中,用来调用本类的其他构造方法
    b. 一旦写完this(),虚拟机便不会添加super()了,因为其他构造的第一行已经写过super()了
    c. this()必须写在有效代码的第一行,如super()
http://www.lryc.cn/news/12591.html

相关文章:

  • 生物医药多组学与生物信息方法介绍
  • 3|物联网控制|计算机控制-刘川来胡乃平版|第2章:计算机控制系统中的检测设备和执行机构-2.2过程控制中常用的执行器|课堂笔记|ppt
  • 【进阶篇】线程的硬件基础
  • 关于 ISP Tuning的学习,分享几点看法
  • RocketMQ源码阅读
  • 重磅 | 小O软件新品【鲸鱼地图】发布
  • 软考高级信息系统项目管理师系列之二十五:项目合同管理
  • 测试开发之Django实战示例 第十三章 上线
  • python实战应用讲解-【语法基础篇】Python中的数值类型(附示例代码)
  • Git常用命令以及如何在IDEA中使用Git
  • 音乐播放器-- 以及数据库数据存储
  • [JAVA安全]Spring Messaging之CVE-2018-1270
  • CAN通信笔记-位时间、Tq及采样点同步
  • 玩转 Kubernetes 配置管理:ConfigMap 和 Secret 实战演示
  • Kubernetes
  • 从零开始 verilog 以太网交换机(三)MAC发送控制器的设计与实现
  • 使用vector<char>作为输入缓冲区
  • 自己在网站搭建用到的一些网站
  • XLSReadWriteII5 Color 颜色l的调用和使用
  • RT-Thread SP使用教程
  • LeetCode 2363. 合并相似的物品
  • numpy 中常用的数据保存、fmt多个参数
  • 从0到1一步一步玩转openEuler--19 openEuler 管理服务-特性说明
  • 23美赛E题:光污染(ICM)完整思路Python代码
  • 快速排序的描述以及两种实现方案
  • 算力引领 数“聚”韶关——第二届中国韶关大数据创新创业大赛圆满收官
  • MySQL 记录锁+间隙锁可以防止删除操作而导致的幻读吗?
  • 【分库分表】企业级分库分表实战方案与详解(MySQL专栏启动)
  • (考研湖科大教书匠计算机网络)第五章传输层-第五节:TCP拥塞控制
  • 13.使用自动创建线程池的风险,要自己创建为好