继承的初始化顺序

news2024/12/24 20:00:23

B类继承A类后,new B()后执行顺序如下:

1、执行A类的静态方法(只执行一次)

2、执行B类的静态方法(只执行一次)

3、执行A类的成员变量的赋值(没有赋值操作则忽略此步)

4、执行A类的构造方法

5、执行B类成员变量赋值(没有赋值操作则忽略此步)

6、执行B类的构造方法

如果此时再次new B() ,步骤1-2静态方法已经执行过,不会再执行,执行步骤3-6

public class Person {
    private String name = "person";
    static {
        System.out.println("Person父类静态代码块");
    }
    public Person() {
        System.out.println("Person父类构造方法");
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

public class Student extends Person{
    private int age = 18;
    static {
        //静态代码块
        System.out.println("Student子类静态代码块");
    }
    Student(int age) {
        this.age = age;
        System.out.println("Student子类构造方法");
    }
    public static void main(String[] args) {
        Student s1 = new Student(20);
        System.out.println("name=" + s1.getName());
        System.out.println("age=" + s1.getAge());

        Student s2= new Student(24);
        System.out.println("name=" + s2.getName());
        System.out.println("age=" + s2.getAge());
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

运行后代码结果:

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

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

相关文章

Datawhale X 李宏毅苹果书 AI夏令营(深度学习进阶)taks2(2.1+2.2+2.3)

task2.1 自适应学习率 临界点其实不一定是在训练一个网络的时候会遇到的最大的障碍。 一般在训练一个网络的时候,损失原来很大,随着参数不断的更新,损失会越来越小,最后就卡住了,损失不再下降。当我们走到临界点的时…

VLDB 2024 即将来袭!创邻科技将带来精彩分享

8月26-30日,数据库领域最权威、影响力最大的顶级盛会之一,VLDB 2024 来了! VLDB(International Conference on Very Large Databases)是数据管理、可扩展数据科学和数据库研究人员、厂商、应用开发者以及用户广泛参与…

ssrf简介

目录 SSRF漏洞 漏洞原理 形成原因 SSRF用途: 怎么找到SSRF漏洞? 漏洞案例 SSRF漏洞 漏洞原理 SSRF(Server-Side Request Forgery:服务器端请求伪造)是——种由仅专构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF是要目标网站的内部系统。(因为他是…

【原创】java+swing+mysql健身房管理系统设计与实现

个人主页:程序员杨工 个人简介:从事软件开发多年,前后端均有涉猎,具有丰富的开发经验 博客内容:全栈开发,分享Java、Python、Php、小程序、前后端、数据库经验和实战 文末有本人名片,希望和大家…

无人机RTK定位定向技术详解

无人机RTK(Real-Time Kinematic,实时动态差分技术)定位定向技术,是无人机领域的一项高精度导航与定位技术。它结合了全球导航卫星系统(如GPS、GLONASS、Galileo、BDS等)与实时差分技术,通过地面…

精彩管道不会梦到深沉蓝调

如果上天开了眼 请多给我点蓝调 多给我点沙锤 多给我点甲壳 让我吃鸡! 星元自动机,新的版本之神 给宁磕一个 完蛋 你说这不是问题吗 我这篇文章从我写开始,到写完 炉石都换赛季了!!!&#xff01…

HTB-Redeemer(redis)

前言 各位师傅大家好,我是qmx_07,今天给大家讲解Redeemer这台机器,主要是对redis组件进行渗透,了解思路 渗透过程 更改一下 目录结构,先写 渗透过程,再写 题解 信息搜集 通过nmap扫描 发现开启了6379…

sklearn中的线性回归

多元线性回归 指的 是一个样本 有多个特征的 线性回归问题。 w 被统称为 模型的 参数,其中 w0 被称为截距(intercept),w1~wn 被称为 回归系数(regression coefficient)。这个表达式和 yazb 是同样的…

CMake构建学习笔记4-libjpeg库的构建

libjpeg是一个广泛使用的开源库,用于处理JPEG(Joint Photographic Experts Group)图像格式的编码、解码、压缩和解压缩功能,是许多图像处理软件和库的基础。 libjpeg本身的构建没什么特别的,不过值得说道的是libjpeg存…

『功能项目』摄像机跟随角色【07】

我们打开上一篇06新输入系统项目, 本章要做的事情是摄像机跟随主角移动, 给主角增加一个Player标签方便主摄像机查找主角对象 在编辑场景调好角度,选择Main Camera对象按键盘Ctrl Shift F使运行场景与编辑场景相同 新建CameraCtrl脚本代码 …

Linux_NAT网络原理图,网络配置指令

目录 linux网络配置原理图 查看网络IP和网关 查看虚拟网络编辑器和修改IP地址 查看网关 ping测试主机之间网络连通性 linux网络配置原理图 ping指令的意思是连通上网,可以检测是否这个地址是否通。 比如我们在虚拟机里可以在火狐浏览器上打开百度。 使用ifco…

框架——动态SQL

目录 1.Mybatis动态SQL 2.MyBatis 中用于实现动态 SQL 的元素 3.查所有 4.If 元素 5.trim 元素 6.Choose 元素 7.set 元素 8.foreach 元素 根据传入id删除学生信息 根据传入列名查询学生相关信息 1.Mybatis动态SQL MyBatis 的一个强大的特性之一通常是它的动态 SQL 能…

CSRF简单介绍

欢迎交流 CSRF 条件: 需要请求伪造数据包无过滤防护,有过滤防护能绕过受害者需要触发(诱惑) 流程图 解决方案一: 检查Referer字段 解决方案二: CSRFToken 发货100CMS示例(无过滤&#xff…

数据仓库系列4-什么是维度建模,它与关系型建模有什么区别

想象一下,你正在分析一家大型零售连锁店的销售数据。突然,你意识到传统的数据库模型无法有效地回答"去年黑色星期五当天,哪个地区的哪类产品销售额最高?"这样的复杂问题。这就是维度建模发挥作用的时候了 目录 引言:维度建模的魔力什么是维度建模?维度建模的定义维…

在我的博士科研生活中,SCI的英语写作一直是我的挑战。

在我的博士科研生活中,SCI的英语写作一直是我的挑战。尽管我不断地努力提高自己的语言水平,但每当我提交文章后,审稿人或编辑总是会指出语言表达的不足之处,让我深感苦恼。于是,我开始寻找专业的润色服务来帮助我提升文…

大模型之二十六-Diffusion model实例浅析

在2022年,midjourney、DALL-E以及Stable Diffusion三个文生图模型引爆了机器生产文生图领域,他们的模型能够在可控条件(标签、文本描述)下生成高分辨率、细节丰富的多样性图像,这在视觉上往往难以与真实图像区分。配套…

其它特殊库存

自有特殊库存 对于特殊库存,我们通常认为是由于所有权或存储地点与其它库存分开管理的物料库存。当过帐涉及特殊库存的货物移动时,除了移动类型外,必须(如向特定供应商或客户或销售订单)提供相关特殊库存标识以及更多…

3秒内搞定服务器端口扫描!用RustScan快速查看开放端口

文章目录 3秒内搞定服务器端口扫描!用RustScan快速查看开放端口1. RustScan简介2. RustScan特点3. RustScan的基本使用3.1 创建alias别名3.2 基本用法3.3 常用参数说明3.4 示例4. 注意事项 最近开始公众号文章也开始同步更新了,对Java、大数据、人工智能…

游戏开发设计模式之命令模式

目录 命令模式的定义和工作原理 应用场景 实现方式 优点 缺点 结论 命令模式在游戏开发中的具体实现案例是什么? 如何在Unity3D中有效地实现和管理命令模式以提高游戏性能? 命令模式与其他设计模式(如观察者模式、状态模式&#xff…

【C++ 面试 - 内存管理】每日 3 题(一)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…