javase day11笔记

第十一天课堂笔记

构造代码块

  • { }

  • 所有对象 共性特点 进行初始化操作

  • 创建对象时在堆区对象中存放实例变量,同时执行构造代码块

  • 执行顺序:静态代码块—>非静态代码块—>构造方法

    image-20240323100829354

继承★★★

  • 将多个类中相同的实例变量和实例方法 , 单独存放到一个类中,成为父类 , 系统默认继承Object类

  • 子类通过extends 父类类名 继承父类

  • 子类中编写除父类外 独有的 实例变量和实例方法

  • 好处: 减少代码冗余

    image-20240323102454245

  • @override : 判断是否重写

  • 方法的重写: CTRL + o 重写父类的方法

  • 重写和重载的区别

    • 重写
      • 重写 override :=> 方法的覆盖
      • 在子类中重写父类的方法
      • 子类的方法与父类的方法名称必须一致、参数列表必须一致、返回值类型一致
    • 重载
      • overload
      • 在同一个类中
      • 方法名称一致、参数列表必须不一致(类型不同、个数不同、顺序不同)
  • 注意事项

    • 父类 => 超类 : superclass
    • 子类不能继承父类的构造方法
    • 继承的特点:
      • 单根性: 一个子类只能继承一个直接的父类
      • 传递性: a extend b , b extend c …
  • this关键字

    • 代表 当前这个对象
    • 在当前这个类中使用
    • 可以访问 本类当前对象 的实例变量,实例方法,其他构造方法,还可以访问父类对象中的实例变量,实例方法
    • 查找方法 -> 当前对象中 -> 父类对象中
  • super关键字

    • 代表 父类对象
    • 只能在 子类中使用
    • 只能访问父类对象中的实例变量,实例方法,构造方法
thissuper
代表代表当前这个对象代表父类对象
在哪里用当前类中使用中能在子类中使用,调用父类
可以访问访问当前对象的实例变量\方法\构造方法 访问父类对象的实例变量\方法访问父类对象的实例变量\实例方法\构造方法
查询顺序当前对象的实例对象\方法 -> 父类的实例对象\方法父类中找实例变量\方法
  • 注: 当子类重写父类的方法后,如果再在子类的方法体中调用父类的方法,则只能编写super,否则死循环

  • 创建子类对象执行过程

    /*
            第一步 : 加载类
                加载父类 : 执行父类的静态代码块
                - > 加载子类 : 再行子类的静态代码块
            第二步 : 创建对象
                先创建父类对象:
                    创建父类对象 -> 执行父类的构造代码块 -> 执行父类相匹配的构造方法
                -> 再创建子类对象
                    创建子类对象 -> 执行子类的构造方法块 => 执行子类相匹配的构造方法
    */
    

    image-20240323214257787

  • 子类对象内存分析图

    • 子类对象和父类对象使用同一个地址值

image-20240323155101597

快捷键

  • CTRL + alt + M : 抽取方法

用同一个地址值

[外链图片转存中…(img-CmXyfJdl-1711292033266)]

快捷键

  • CTRL + alt + M : 抽取方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/485389.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】写个日志和再谈线程池

欢迎来到Cefler的博客😁 🕌博客主页:折纸花满衣 🏠个人专栏:信号量和线程池 目录 👉🏻日志代码Log.cppMain.cc 👉🏻线程池代码LockGuard.hpp(自定义互斥锁,进…

网易web安全工程师进阶版课程

课程介绍 《Web安全工程师(进阶)》是由“ i春秋学院联合网易安全部”出品,资深讲师团队通过精炼的教学内容、丰富的实际场景及综合项目实战,帮助学员纵向提升技能,横向拓宽视野,牢靠掌握Web安全工程师核心…

Python6:Socket编程初步学习笔记

Socket协议概要 创建socket的时候,需要一些选项来说明本次使用协议具体是什么,常用的两个: 由此产生的不同组合: 但目前TCP(IPV4)是主流,SOCK_STREAMAF_INET 创建和使用Socket socket模块中有socket类&#xff1a…

51单片机学习笔记——LED闪烁和流水灯

任务分析 首先要知道LED闪烁主要是怎么工作的,闪烁亮灭自然是一下为高一下为低,亮灭的频率则需要延时来进行控制。 上节已经知道了如何点亮那延时如何做呢首先先编写主框架 这样是否可以通过循环将LED灯一直循环闪烁。 以为while一直在循环所以其实是可…

向开发板上移植ip工具:交叉编译 ip工具

一. 简介 前面几篇文章学习了 CAN设备节点的创建,以及如何使能 CAN驱动。 本文学习向开发板上移植ip工具。 二. 向开发板上移植ip工具:交叉编译 ip工具 注意:在移植 ip 命令的时候必须先对根文件系统做个备份!防止操作失误导…

力扣74---搜索二维矩阵

目录 题目描述: 思路: 代码: 题目描述: 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。 每行的第一个整数大于前一行的最后一个整数。 给你一个整数 targ…

c#绘制图形

窗体工具控件 如果选纹理 ,需要在ImageList中选择图像(点击添加选择图片路径) using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Drawing2D; using System.Linq; using System.…

【Redis教程0x03】详解Redis的基本数据类型

引言 根据【Redis教程0x02】中介绍的,Redis的数据类型可分为5种基本数据类型(String、Hash、List、Set、Zset)和4种高级数据类型(BitMap、HyperLogLog、GEO、Stream)。在本篇博客中,我们将详解这9种数据类…

分类预测 | Matlab实现CNN-LSTM-Mutilhead-Attention卷积神经网络-长短期记忆网络融合多头注意力机制多特征分类预测

分类预测 | Matlab实现CNN-LSTM-Mutilhead-Attention卷积神经网络-长短期记忆网络融合多头注意力机制多特征分类预测 目录 分类预测 | Matlab实现CNN-LSTM-Mutilhead-Attention卷积神经网络-长短期记忆网络融合多头注意力机制多特征分类预测分类效果基本介绍模型描述程序设计参…

Springboot做分组校验

目录 分组校验 Insert分组 Upload分组 测试接口 测试结果 添加测试 更新测试 顺序校验GroupSequence 自定义分组校验 自定义分组表单 CustomSequenceProvider 测试接口 测试结果 Type类型为A Type类型为B 总结: 前文提到了做自定义的校验注解&#xff…

牛客NC170 最长不含重复字符的子字符串【高频 中等 map、滑动窗口 Java,Go,PHP】

题目 题目链接: https://www.nowcoder.com/practice/48d2ff79b8564c40a50fa79f9d5fa9c7 思路 用一个hashmap记录每个字母的index如果这个字母已经在map里了说明已经有重复了这样就更新看这个字母上次出现的index需要注意的是这种情况:“bacbca”这里的a…

初识kafka-数据存储篇1

目录 背景 1 kafka总体体系结构 2 疑问解答 2.1 高吞吐低延迟 2.2 实现分布式存储和数据读取 2.3 如何保证数据不丢失 背景 最近在和产品过项目审批的时候,深刻感受到业务方对系统的时时响应提出了更高的要求。目前手上大部分的业务都是基础定时任务去实现的&…

【yolo算法水果新鲜程度检测】

Yolo(You Only Look Once)系列算法是一类流行的一阶段实时目标检测模型,在水果检测领域有着广泛的应用。因其高效性和实时性而受到青睐,可用于识别和定位图像中不同种类的水果以及水果的新鲜度。 YOLOv3 已被用于水果商品的检测分…

家乡特色推荐系统设计与实现|SpringBoot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW,文末可获取本项目的所有资料。 推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java,…

【Linux】线程互斥{线程间的互斥相关背景概念/锁的相关问题/锁的原理/可重入VS线程安全}

文章目录 0.计算机如何完成y a * b c ?1.线程间的互斥相关背景概念2.pthread_mutex_t3.pthread_mutex_lock()4.time() or gettimeofday5.锁的相关问题6.锁的原理7.可重入VS线程安全8.完善后的代码 0.计算机如何完成y a * b c ? 来源: 王道…

nodejs+vue反诈科普平台的设计与实现pythonflask-django-php

相比于以前的传统手工管理方式,智能化的管理方式可以大幅降低反诈科普平台的运营人员成本,实现了反诈科普平台的标准化、制度化、程序化的管理,有效地防止了反诈科普平台的随意管理,提高了信息的处理速度和精确度,能够…

基础篇Redis

基础篇Redis 1.Redis简单介绍 Redis是一种键值型的NoSql数据库,这里有两个关键字: 键值型NoSql 其中键值型,是指Redis中存储的数据都是以key.value对的形式存储,而value的形式多种多样,可以是字符串.数值.甚至json…

Windows/Linux-openEuler系统使用路由侠内网穿透,部署项目详细教程

文章目录 Windows/Linux-openEuler系统使用路由侠内网穿透,部署项目详细教程一、在windows系统下载安装路由侠并实现项目部署1、下载路由侠并注册安装到Windows系统2、点击内网映射,添加映射,注册域名前缀3、选择网站应用4、配置你想要代理项…

mysql 存储引擎 基本介绍

目录 一 存储引擎概念介绍 (一)存储引擎概念 (二)MySQL常用的存储引擎 (三)存储引擎运作方式 二 MyISAM 存储引擎介绍 (一) MyISAM 存储引擎特点 1,不支持…

栅格地图路径规划:基于螳螂搜索算法(Mantis Search Algorithm,MSA)的机器人路径规划(提供MATLAB代码)

一、机器人路径规划介绍 移动机器人(Mobile robot,MR)的路径规划是 移动机器人研究的重要分支之,是对其进行控制的基础。根据环境信息的已知程度不同,路径规划分为基于环境信息已知的全局路径规划和基于环境信息未知或…