java基础学习 day42(继承中构造方法的访问特点,this、super的使用总结)
- 继承中,构造方法的访问特点
- 父类的构造方法不会被子类继承,但可以通过super()调用父类的构造方法,且只能在子类调用,在测试类中是不能手动单写构造方法的。
- 子类中所有的构造方法默认先调用父类的无参构造,再执行自己构造方法的其他代码
- 为什么会先默认调用父类的无参构造?
- 子类在初始化的时候,有可能会使用到父类中的数据,如果此时父类中的数据没有完成初始化,只是单单定义了,子类就无法使用该父类的数据
- 所以子类初始化之前,一定要调用父类构造方法完成父类数据空间的初始化
- 怎么调用父类构造方法的?
- 子类构造方法的第一行语句默认都是:super(),不写虚拟机也会自动加上,且在有效代码第一行,写了虚拟机就不加了,但必须在有效代码第一行(注释不算)
- 如果想调用父类有参构造,必须手动书写带参数的super()进行调用
- this的使用总结
- this:理解为一个局部变量,表示当前方法调用者的地址值,且仅在该方法内有效
- 类的成员方法,构造方法内部都隐含了this变量(作为形参存在),当该方法被调用时,虚拟机就会把调用者的地址值赋给this
- 类的方法内不与局部变量重名的成员变量,变量名前也隐含了this
- 记住this只是在类的方法(成员方法,构造方法)内的一个局部变量。相反,this不是在创建对象时,被包含在对象里的。
- super的使用总结
- 代表父类的存储空间
- this和super的使用方式

- 若类的成员变量与局部变量不重名,那么前面的this可以省略不写
- 在类里调用本类的成员方法时,前面的this也可以省略不写
- this():
a. 仅在构造方法中,用来调用本类的其他构造方法
b. 一旦写完this(),虚拟机便不会添加super()了,因为其他构造的第一行已经写过super()了
c. this()必须写在有效代码的第一行,如super()
相关文章:
java基础学习 day42(继承中构造方法的访问特点,this、super的使用总结)
继承中,构造方法的访问特点 父类的构造方法不会被子类继承,但可以通过super()调用父类的构造方法,且只能在子类调用,在测试类中是不能手动单写构造方法的。子类中所有的构造方法默认先调用父类的无参构造,再执行自己构…...
生物医药多组学与生物信息方法介绍
基因组学告诉你可能发生什么,转录组学和蛋白组学告诉你即将发生什么,而代谢组学告诉你正在发生什么 1、多组学与生信方法 生物医学技术的组学包括基因组学、转录组学、蛋白质组学、代谢组学和表观基因组学等。这些组学研究领域通过大量数据的高通量技术…...
【进阶篇】线程的硬件基础
文章目录高速缓存缓存一致性协议写缓冲区和无效化队列高速缓存 简介 高速缓存是主内存与处理器之间的硬件,其容量小于主存,但存取速率远高于主存。因此处理器在执行读写操作时,可直接和高速缓存交互,提高响应速度。 我们常见的变…...
关于 ISP Tuning的学习,分享几点看法
关于学习,分享几点看法,欢迎讨论 。1、分阶段性的,阶梯式学习。2、带目的性的,任务式学习。3、有总结性的,输出式学习。如上3条,可以依次循环去执行,下面我以 ISP Tuning 的学习为例,…...
RocketMQ源码阅读
没有用过rocketmq,但是一直对RocketMQ的实现很感兴趣,本次阅读源码基于5.0.0 一、 nameserver 通过源码阅读发现,它的作用主要是当作一个注册中心,注册broker、topic等信息,维护topic以及broker队列的路由信息&#…...
重磅 | 小O软件新品【鲸鱼地图】发布
千呼万唤始出来.......,小O系列软件又添新品【鲸鱼地图】!!! 2023年新年伊始,小O就投入到新品研发工作中,秉承“发现地理价值”理念,为用户提供更加好用、易用的地图软件产品,经过春…...
软考高级信息系统项目管理师系列之二十五:项目合同管理
软考高级信息系统项目管理师系列之二十五:项目合同管理 一、项目合同管理内容整理一、合同管理基本概念1.项目合同管理定义2.合同的分类3.合同类型选择4.合同内容二、合同管理过程1.合同管理过程的内容2.合同签订和履行管理3.合同变更和档案管理4.合同违约索赔管理项目合同管理…...
测试开发之Django实战示例 第十三章 上线
在上一章,为其他程序与我们的Web应用交互创建了RESTful API。本章将学习如何创建生产环境让我们的网站正式上线,主要内容有:配置生产环境创建自定义中间件实现自定义管理命令1创建生产环境现在该将Django项目正式部署到生产环境中了。我们将按…...
python实战应用讲解-【语法基础篇】Python中的数值类型(附示例代码)
目录 前言 数值类型 十六进制、八进制和二进制 Python 数值类型转换 数值和表达式 前言...
Git常用命令以及如何在IDEA中使用Git
前言Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等)。Git在管理文件过程中会记录日志,方便回退到历史版本;Git存在分支的概念,一个项目可以有多个分支&…...
音乐播放器-- 以及数据库数据存储
运行环境 : java1.8 数据库以及代码编写工具 : sqlserver -- mysql 也可以 工具 eclipse 编码gbk窗体 : Swing使用了jaudiotagger 进行了音乐处理 图片展示 ----- 空闲时间 做出来玩的项目 部分功能还没有完善 完善了的功能 音乐 /// 主页 &a…...
[JAVA安全]Spring Messaging之CVE-2018-1270
漏洞简介 Spring 框架中通过spring-messaging 模块来实现 STOMP (Simple Text-Orientated Messaging Protocol),STOMP是一种封装 WebSocket的简单消息协议。攻击者可以通过建立WebSocket连接并发送一条消息造成远程代码执行, spring-messagin…...
CAN通信笔记-位时间、Tq及采样点同步
本文框架1.前言2. 位时间2.1 位时间定义2.2 位时间计算3. Tq3.1 Tq的计算3.1.1 举个例子3.2 位时间与Tq的换算4. 采样点同步4.1 硬同步4.2 重同步4.2.1 延长PBS1的重同步4.2.2 缩短PBS2的重同步1.前言 本篇记录些关于CAN的一些学习笔记,说实话CAN协议发展的已经非常…...
玩转 Kubernetes 配置管理:ConfigMap 和 Secret 实战演示
目录一、简介二、ConfigMap2.1 基于目录创建 ConfigMap2.2 基于文件创建 ConfigMap2.3 从环境文件创建 ConfigMap2.4 定义从文件创建 ConfigMap 时要使用的键2.5 根据字符串创建 ConfigMap三、Secret3.1 基于文件创建Secret3.2 基于字符串创建Secret3.3 yaml文件方式创建secret…...
Kubernetes
一、 kubernetes介绍 1.1 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代 传统部署:互联网早期,会直接将应用程序部署在物理机上 优点:简单,不需要其它技术的参与 缺点:不能为应用程序定义…...
从零开始 verilog 以太网交换机(三)MAC发送控制器的设计与实现
从零开始 verilog 以太网交换机(三)MAC发送控制器的设计与实现 🔈声明: 😃博主主页:王_嘻嘻的CSDN主页 🧨 从零开始 verilog 以太网交换机系列专栏:点击这里 🔑未经作者允…...
使用vector<char>作为输入缓冲区
一、引言 当我们编写代码:实现网络接收、读取文件内容等功能时,我们往往要在内存中开辟一个输入缓冲区(又名:input buffer/读缓冲区)来存贮接收到的数据。在C里面我们可以用如下方法开辟输入缓冲区。 ①使用C语言中的数组&#x…...
自己在网站搭建用到的一些网站
背景 以后可能很少做网站类的项目了,所以做个简单总结,把自己的一些经历和一些小工具做个记录 域名和主机 https://www.godaddy.com/zh-sg, 我之前的基本都是国际会议型的网站,所以就在gadaddy上买了主机和域名。目标群体在国内可以考虑腾…...
XLSReadWriteII5 Color 颜色l的调用和使用
XLSReadWriteII5 Color 颜色l的调用和使用 一、色彩三原色 自然界,颜色是由红、绿、蓝三色组成,人眼的可见的颜色,可以通过红、绿、蓝三色按照不同的比例合成产生。 任意一种颜色由这三种原色按照一定的比例混合出来。 二、Windows系…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
