Java | 类、实例初始化 、方法重写规则

news2024/11/17 20:51:00

在这里插入图片描述

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~
个人主页:.29.的博客
学习社区:进去逛一逛~

类、实例初始化 、方法重写规则


  • 类的初始化过程
    • ①一个类要创建实例需要先加载并初始化该类
      • 此时main方法所在的类要先加载和初始化。
    • ②一个子类要初始化需要先初始化父类
    • ③一个类初始化就是执行<clinit>()方法
      • <clinit>()方法由静态类变量显示赋值代码和静态代码块组成。
      • 静态类变量显示赋值代码和静态代码块代码从上到下顺序执行。
      • <clinit>()方法只执行一次。

  • 实例初始化过程
    • ①实例初始化就是执行<init>()方法
      • <init>()方法可能重载有多个,有几个构造器就有几个<init>()方法。
      • <init>()方法由非静态实例变量显示赋值代码和非静态代码块代码从上到下顺序执行,对应构造器的代码最后执行。
      • 每次创建实例对象,调用对应构造器,执行的就是对应的<init>()方法。
      • <init>()方法的首行时super()或super(实参列表),即对应父类的<init>()方法。(先执行父类的<init>()方法)

  • 方法的重写Override
    • ①不可以被重写的方法:
      • final方法
      • 静态方法
      • private等子类中不可见的方法
    • ②对象的多态性:
      • 子类如果重写了父类的方法,通过子类调用的一定是子类重写过的方法。
      • 非静态方法默认的调用对象时this。
      • this对象在构造器或者说<init>()方法中表示正在创建的对象。
  • Override重写的要求:
    • 方法名一致
    • 形参列表一致
    • 返回值类型一致
    • 抛出的异常列表一致
    • 修饰符一致


在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PL2303驱动程序不支持WINDOWS 11及后续版本

到网上下载PL2303的驱动程序, 双击安装这个驱动程序&#xff0c;安装完成后双击这个端口&#xff0c; 这个端口的驱动程序是我们刚才安装的&#xff0c;选中 点击下一步&#xff0c;问题解决。如下图已经没有之前的提示了

NoSQL数据库(林子雨慕课课程)

文章目录 5.1 NoSQL数据库5.2 NoSQL和关系数据库的比较5.3 四大类型NoSQL数据库5.3.1 键值数据库和列族数据库5.3.2 文档数据库、图数据库、以及不同数据库比较分析 5.4 NoSQL数据库的理论基石CAP理论&#xff1a;BASE理论&#xff1a;Eventual consistency&#xff08;最终一致…

Stretched mesh

https://www.particleincell.com/2015/stretched-mesh/

2023年中国光子嫩肤行业市场规模及市场格局分析[图]

随时间推移&#xff0c;光子嫩肤行业朝着功效提升和风险降低的方向发展&#xff0c;所使用的强脉冲光技术不断升级革新。因此&#xff0c;在原有的强脉冲光子嫩肤项目基础上&#xff0c;延伸出完美强脉冲光技术、窄谱强脉冲光技术应用的光子嫩肤细分品类。 光子嫩肤分类 资料来…

绘制一个五角红星图形(Python)

#Five_Star.py from turtle import * #导入turtle库 pensize(10) #设置画笔的宽度 begin_fill() #开始绘画 pencolor(red) #设置画笔颜色 fillcolor(yellow) #设置填充颜色 for i in range(5): #设置一个…

【C++】运算符重载案例 - 字符串类 ② ( 重载 等号 = 运算符 | 重载 数组下标 [] 操作符 | 完整代码示例 )

文章目录 一、重载 等号 运算符1、等号 运算符 与 拷贝构造函数2、重载 等号 运算符 - 右操作数为 String 对象3、不同的右操作数对应的 重载运算符函数 二、重载 下标 [] 运算符三、完整代码示例1、String.h 类头文件2、String.cpp 类实现3、Test.cpp 测试类4、执行结果 一…

多线程(线程互斥)

抢票代码编写 学习了前面有关线程库的操作后&#xff0c;我们就可以模拟抢票的过程 假设我们创建四个线程&#xff0c;分别代表我们的用户 然后设定总票数为1000张&#xff0c;四个线程分别将进行循环抢票操作&#xff0c;其实就是循环对票数进行打印&#xff0c;并进行对应的…

【小记】Java将字符串中的EL表达式动态转换为Map中的值

项目中碰到了这样的问题&#xff0c;例如数据库中有一个字符串模版如下&#xff1a; ${userNamme}开启了一个新的${project}我们要替换里面的${}表达式&#xff0c;来实现动态的生成完整的信息~实现方式很简单如下&#xff1a; 引入pom依赖&#xff1a; <dependency>&l…

【附代码】使用Shapely计算多边形外扩与收缩

文章目录 相关文献效果图代码 作者&#xff1a;小猪快跑 基础数学&计算数学&#xff0c;从事优化领域5年&#xff0c;主要研究方向&#xff1a;MIP求解器、整数规划、随机规划、智能优化算法 本文档介绍如何使用 Shapely Python 包 计算多边形外扩与收缩。 如有错误&…

软件测试面试,5年测试工程师竟被面试官10分钟pass,这些问题一定要注意啊!

随着软件测试领域对于技术要求越来越清晰&#xff0c;到现在测试人员在市场上的岗位需求也变得越来越复杂。极大部分的企业都开始对自动化测试岗位有了更多的需要。自然而然&#xff0c;面试就相对于非常重要了。 网络上有着各式各样的测试框架的存在&#xff0c;我也不知道我…

Mall脚手架总结(三) —— MongoDB存储浏览数据

前言 通过Elasticsearch整合章节的学习&#xff0c;我们了解SpringData框架以及相应的衍生查询的方式操作数据读写的语法。MongoDB的相关操作也同样是借助Spring Data框架&#xff0c;因此这篇文章的内容比较简单&#xff0c;重点还是弄清楚MongoDB的使用场景以及如何通过Sprin…

LeetCode862 和至少为k的最短子数组

题目&#xff1a; 解析&#xff1a; 1、先构造前缀和数组 2、单调队列存放滑动窗口&#xff0c;目的求Sj-Si >k的情况下&#xff0c;窗口最小。 代码&#xff1a; class Solution {public int shortestSubarray(int[] nums, int k) {int n nums.length;long[] sums new …

网工内推 | base郑州,上市公司,最高15薪,五险一金全额缴

01 四方达 招聘岗位&#xff1a;网络工程师 职责描述&#xff1a; 1、负责公司数据中心&#xff08;机房&#xff09;的管理与运维工作。 2、负责公司服务器、路由器、防火墙、交换机等设备的管理、以及网络平台的运行监控和维护&#xff1b; 3、负责公司服务器运维管理工作、…

Git相关知识(1)

目录 1.初识Git 1.基础知识 2.centos中下载 2.基本操作 1.创建本地仓库 2.配置本地仓库 3.版本库、工作区、暂存区 4.添加文件 5.add和commit对git文件的作用 6.修改文件 7.版本回退 8.撤销修改 9.删除文件 3.分支操作 1.HEAD与分支 2.创建分支 3.删除分支 …

python中TagMe包的token获取

草&#xff0c;找了40分钟&#xff01;帮助大家少浪费时间。 1.注册Tagme&#xff0c;注册地址https://services.d4science.org/home &#xff08;我用邮箱注册一直说验证码不对&#xff0c;最后用Google账号注册的&#xff09; 2.找sobigdata 3.进入sobigdata后&#xff0c;…

17基于matlab卡尔曼滤波的行人跟踪算法,并给出算法估计误差结果,判断算法的跟踪精确性,程序已调通,可直接运行,基于MATLAB平台,可直接拍下。

17基于matlab卡尔曼滤波的行人跟踪算法&#xff0c;并给出算法估计误差结果&#xff0c;判断算法的跟踪精确性&#xff0c;程序已调通&#xff0c;可直接运行&#xff0c;基于MATLAB平台&#xff0c;可直接拍下。 17matlab卡尔曼滤波行人跟踪 (xiaohongshu.com)

MySQL总结练习题

目录 1.准备数据表 2.表之间的关系 3.题目 3.1 取得每个部门最高薪水的人员名称 3.2 哪些人的薪水在部门的平均薪水之上 3.3 取得部门中&#xff08;所有人的&#xff09;平均的薪水等级 3.4 不准用组函数&#xff08;Max &#xff09;&#xff0c;取得最高薪水 3.5 取…

Java基础之反射机制

背景&#xff1a;Java程序中的所有对一项都有两种类型&#xff1a;编译时类型和运行时类型&#xff08;由于多态导致的&#xff09;&#xff0c;这可能会导致对象的编译时类型和运行时类型不一致。 反射&#xff08;Reflection&#xff09;是被是为动态语言的关键&#xff0c;反…

速通Redis基础(二):掌握Redis的哈希类型和命令

目录 Redis 哈希类型简介 Redis 哈希命令 HSET HGET HEXISTS HDEL HKEYS HVALS HGETALL HMGET HLEN HSETNX ​编辑 HINCRBY HINCRBYFLOAT Redis的哈希类型命令小结 Redis 是一种高性能的键值存储数据库&#xff0c;支持多种数据类型&#xff0c;其中之…

jdbc+数据连接池

1.1 JDBC概念 JDBC 就是使用Java连接并操作数据库的一套API 全称&#xff1a;( Java DataBase Connectivity ) Java 数据库连接 1.2 JDBC优势 可随时替换底层数据库&#xff0c;访问数据库的Java代码基本不变 以后编写操作数据库的代码只需要面向JDBC&#xff08;接口&…