关于java中子类,父类中,静态代码块: staic{},动态代码块:{},构造方法,类属性,对象属性等执行顺序做个总结:

ros_control硬件接口实战:从零构建机器人控制框架 本文详细介绍了ros_control硬件接口在机器人控制框架中的核心作用与实践方法。通过解析硬件接口类型、实现标准接口、构建主控制循环及自定义功能扩展,帮助开发者从零构建高效的机器人控制系统,提升硬件与ROS的协同效率。 阅读详情

关于java中子类,父类中,静态代码块: staic{},动态代码块:{},构造方法,类属性,对象属性等执行顺序做个总结:

以下代码参考 http://904510742.iteye.com/blog/2135211。

public class TestCodeExecOrder extends TestCodeExecOrderHost {
	  
	  static {System.out.println("TestCodeExecOrder static代码块");}//(3)静态代码块
	  
	  //(1)和(2)的顺序决定了输出顺序,也就是说哪个在前,先走哪个代码
	  private int x = print("TestCodeExecOrderHost xx变量");//(2)普通成员变量
	  {System.out.println(xx2+"TestCodeExecOrderHost  动态代码块");}//(1)动态代码块
	  //private int x = print("TestCodeExecOrderHost xx变量");//(2)普通成员变量
	  
	  //(3)和(4)的顺序决定了输出顺序,也就是说哪个在前,先走哪个代码
	  private static int xx2 = print("static TestCodeExecOrder.xx2 init");//(4)static成员变量
	  
	  public TestCodeExecOrder(){
	    System.out.println("TestCodeExecOrder  j="+j);
	    System.out.println("TestCodeExecOrder  x="+x);
	  }
	  public static void main(String[] args) {
	    System.out.println("TestCodeExecOrder main");
	    TestCodeExecOrder t1 = new TestCodeExecOrder();
	    TestCodeExecOrder t2 = new TestCodeExecOrder();
	  }
	}
	class TestCodeExecOrderHost{
	  private int i = 9;
	  public int j;
	  
	  private static int xx = print("static TestCodeExecOrderHost.xx init");
	  {System.out.println(xx+"TestCodeExecOrderHost 动态代码块");}
	  static {System.out.println("TestCodeExecOrderHost static代码块");}
	  public TestCodeExecOrderHost(){
	    System.out.println("TestCodeExecOrderHost  i="+i+" j="+j);
	    j = 10;
	  }
	  
	  public static int print(String s){
	    System.out.println(s);
	    return 20;
	  }
	}

总结:

(1)程序运行时第一件事就是试图访问TestCodeExecOrder .main方法(他是static的),这是加载器加载TestCodeExecOrder的编译代码,对他加载过程中如果发现他有一个父类TestCodeExecOrderHost,接着对父类进行加载;

(2)接着,父类中的static初始化被立刻进行,然后是子类的static初始化(此处的static包括:static变量和static代码块,谁在前,谁就先执行),此时必要的类加载完毕,就可以顺序运行语句包括创建对象了。

(3)此时,对对象中的普通成员变量初始化(有值得赋值,没值的赋默认值)(普通成员变量包括:普通成员变量和动态代码块,谁在前,谁就先执行),接着父类的构造方法被执行,然后是子类的普通成员变量初始化,子类构造方法。

 (4)若创建多个子类对象,则根据子类的顺序执行步骤(3),(2)只会执行一次。

 



使用plot函数可视化F分布累积分布函数数据(R语言) 在上面的代码中,我们使用了seq()函数来生成从0到5之间,以0.1为步长的一组F值。然后,我们指定了分子自由度为3,分母自由度为8,并使用pf()函数计算了对应的F分布CDF值。在本文中,我们将介绍如何使用R语言的plot函数来可视化F分布的累积分布函数(CDF)数据。通过使用plot函数,我们可以直观地了解F分布的累积分布函数,并对F值和对应的累积概率之间的关系有更深入的认识。运行上述代码后,我们将获得一个由F值和对应的累积概率构成的图形,其中x轴表示F值,y轴表示累积概率。 阅读详情

相关推荐

fpga在线升级 linux_仅5000行Verilog代码、可在FPGA上跑轻量级Linux系统的RISC-V内核

本文发布于www.hackster.io,由东京理工大学的计算机学院开发,专用于教学与加速用(苏老师也一直认为这是RISC-V当前的主要方向)。目前市场上开源的RISC-V内核已经很多,但很少有公开的RISC-V计算系统是非常轻型且能跑Linux系统的。这一款RISC-V内核就可以运行在FPGA上,用Verilog编写的,需要很少硬件的资源就能跑起来,所以可以运行在一个低成本的FPGA上。来看一下...

weixin_34083807的博客 1866

父类和子类间static变量和方法的继承关系

父类和子类间static变量和方法的继承关系

m0_57464176的博客 1247

tree_sitter多语言解析器配置实战指南

本文是一份详细的Tree-sitter多语言解析器配置实战指南。文章从零开始,手把手指导如何搭建Python环境、安装指定版本的tree-sitter库、下载并编译多种语言的语法规则,最终构建一个统一的解析器库。通过实战代码演示了如何初始化解析器、解析代码并遍历语法树,旨在帮助开发者高效处理多语言代码分析任务,并分享了高级技巧与常见问题排坑经验。

weixin_29245767的博客 267

Java普通代码块,静态代码块,构造代码块在子父类的执行顺序

                 废话不多说,我们先看代码,再说原因:                               执行结果:我是父类静态代码块我是子类静态代码块我是父类构造A代码块我是父类构造B代码块我是子类构造A代码块我是子类构造B代码块从结果我们看出来,总是静态的代码块最先被输出,父类先于子类,普通代码块先与构造代码块。所以有一句口诀是:先静态,后非静态,先父类,后子类。上图...

Lonely_Xia 359

AI Agent评估:指标、策略与最佳实践

AI智能体正逐渐融入到各个领域,从日常的对话助手到复杂的工作流程自动化,其应用范围不断拓展。然而,确保这些智能体能够可靠、高效地完成任务至关重要,这就使得AI智能体评估成为了人工智能发展过程中不可或缺的一环。本文将深入探讨AI智能体评估的指标、策略以及最佳实践,为读者全面解读这一关键领域。

llm_way的博客 3498

Isograph工具解析:FTA、RBD、FMECA与ETA在可靠性工程中的实战应用

可靠性工程是确保复杂系统安全稳定运行的核心学科,它通过量化方法评估和提升系统在特定条件下的无故障运行能力。其基本原理涉及对系统失效模式、概率及影响进行建模与分析,旨在将定性的工程经验转化为定量的决策依据。在工程实践中,故障树分析(FTA)和可靠性框图(RBD)是两种互为补充的关键技术:FTA采用自上而下的演绎逻辑,追溯导致顶事件发生的所有可能故障组合;RBD则采用自下而上的归纳逻辑,描述系统成功运行所需的功能结构关系。这些分析技术的工程价值在于能够提前识别设计薄弱环节,量化风险,并指导设计优化与维修策略制定

weixin_42522009的博客 315

Java中静态代码块、构造方法、代码块、父类与子类之间执行顺序及父类子类实例化对象

PS:今天群里一个小伙伴笔试,匆匆发来的求助信息。。。1.父类、子类之间代码块与构造方法public class HelloA { public HelloA(){ System.out.println("HelloA"); } {System.out.println(&

小小默:进无止境 6335

ESP32驱动GC9A01圆形屏实战:Arduino平台LVGL移植与图像显示优化

本文详细介绍了在Arduino平台上使用ESP32驱动GC9A01圆形屏的实战指南,包括硬件连接、LVGL移植与图像显示优化。通过SPI配置、LVGL库安装和双缓冲机制等技巧,帮助开发者快速实现高效显示效果,适用于智能家居控制面板等应用场景。

weixin_29182481的博客 734

Java中父类与子类的普通代码块,构造代码块,静态代码块 初始化

//示例代码: public class HelloB extends HelloA{ public HelloB(){ System.out.println("子类构造方法"); } { System.out.println("子类构造代码块"); } static{ System.out.println("子类静态块"); } public st

three__stones的博客 2133

TM1621/HT1621 段码LCD驱动器

TM1621 LCD 驱动器

qq_45325304的博客 1万+

FGC_grasp复现

FGC_GraspNet复现

qq_39568387的博客 385

java中静态代码块详解

今天在项目中看到这行代码,静态代码块,很久没用静态代码块了,今天来复习一下, 依旧按照为什么?是什么?怎么用?的思想,去学习。 【为什么?】 先说说代码中为什么要使用这种写法吧, 还记得静态代码块的特点吗?随着类的加载而执行,而且只执行一次 对,没错,就是这个,上面的代码就是因为这个特点而这样写的,可以使得静态代码块中的代码只执行一次,不需要每次调用这个变量都给它赋值。 【是...

代码君的博客 11万+

华为OD机试真题 新系统 9月16号 【园区基站节能部署规划】

华为OD机试真题 新系统【园区基站节能部署规划】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【园区基站节能部署规划】多语言题解。

qq_45776114的博客 351

Java静态变量 静态代码块 主函数 成员变量 构造代码块 构造函数的执行顺序

一.static 1.静态代码块:   代码在项目启动的时候就执行,这种代码是主动执行的,而且只执行一次。他常用做类属性的初始化。static{} 2.静态方法:   在类加载的时候就已经加载,在类名调用时才执行,这种代码是被动执行的。   注意:静态方法里只能调用同类中其他静态成员;             不能以任何方式引用this和super关键字,因为静态方

非同凡响的博客 825

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

JAVA面向对象程序设计

指的是同一方法调用,由于对象不同可能会有不同的行为。前提必须存在继承方法,最重要是父类引用要指向子类对象。@Override// 表示s没有指向任何对象实体say(null);

2301_79922499的博客 1148

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Java面试知识点(四)初始化执行代码顺序(包含static块和构造块)以及类方法和实例方法

转自:https://blog.youkuaiyun.com/qq_33945246/article/details/89923728 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/qq_33945246/article/details/89923728 在 java 的多态调用中,new 的是哪一个类就是调用的哪个类的方法。该说法是否正确? 答案:不...

qq_36688928的博客 159

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Java之路---Day03

2019-10-17-21:18:33 方法 定义格式:   public static void 方法名称() {     方法体   } 完整格式: 修饰符 返回值类型 方法名称(参数类型 参数名称,…){ 方法体 return 返回值; } 修饰符:现阶段的固定写法,public. static   返回值类型:也就是方法最终产生的数据结果是什么类型   方法名称:方法的名字,规则和...

CeliaTodd的博客 228

【面试】搞定面试就这么简单!!!

参数化类型”,类型由具体的类型参数化,把类型也定义成参数形式(称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。泛型的本质是把参数的类型参数化,也就是所操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中。使用泛型编写的程序代码,要比使用 Object 变量再进行强制类型转换的代码,具有更好的安全性和可读性。多种数据类型执行相同的代码使用泛型可以复用代码// 定义一个泛型方法,用于打印数组元素// 创建一个 Integer 数组。

fearless的博客 770

类的代码块、静态代码块、代码块、子父类中执行的先后顺序以及相关的代码

1、代码块的分类: (1)类的代码块: { system.out.println(); } (2)静态代码块: static{ system.out.println(); } 2、注意事项:代码块会在每一次创建对象时自动执行而且会执行在构造方法前面;静态代码块只会在第一次创建对象之前执行一次。 3、代码执行情况:先静态代码块,其次代码块,最后构造方法。但是在子父类中:先执行父类的静态代码后子类的代...

qq_43592160的博客 388

Java基础之子类会不会继承父类的static变量和static方法

1 相关问题 (1)应用父类静态字段会不会初始化子类? (2)父类的静态方法能不能被子类重写? (3)父类的静态变量被继承后,子类修改静态变量,为什么父类的也跟着变了? 2 解决思路-不能 2.1 概念 (1)重写:子类继承父类后,定义了一个和父类中的一模一样方法,这个一模一样是值方法名和参数的定义一模一样。这时候子类要实现这个方法,就称为对父类方法的重写。 (2)重载:子类继承

chenliguan的博客 1万+

父类 子类 动态代码块 静态代码块 构造函数 执行顺序

执行顺序:对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序以此是(静态变量、静态初始化块)>(变量、初始化块)>构造器 第一种情形 父类和子类 都有动态代码块和静态快时 父类和子类 都有动态代码块和静态快时 class Father { { System.out.println("父类构造块");// 3 } static { System.out.printl

浅蓝或面条的笔记 608

java基础 静态 static 问在多态中,子类静态方法覆盖父类静态方法时,父类引用调用的是哪个方法?...

多态 package com.swift.jiekou; public class Jicheng_Tuotai_jingtai_diaoyong { public static void main(String[] args) { Fu f=new Zi(); f.show(); } } class Fu{ ...

weixin_34120274的博客 298

Spring AI + GPT-5.5 + Ollama 配置教程:Base URL、超时与流式调用

由于不同 Spring AI、Spring Boot 小版本之间仍可能存在差异,创建项目时应检查 Spring Initializr、Spring AI BOM 和官方兼容矩阵,不要直接复制旧教程中的 Starter 名称和版本号。多人项目最好隔离不同客户端,并在脱敏前提下记录最终 URL、状态码、请求耗时、请求 ID 和模型 ID。Spring AI 接入模型 API,至少要同时确认 Starter、Base URL、请求路径、API Key、模型 ID、连接超时、读取超时和流式客户端这 8 项。

2601_95893075的博客 216

V8 机制、手写核心函数与 TypeScript 类型体操

或固定初始化(如数组先定长、对象先给全字段)保持类型与形状稳定;这些都比"换框架"更基础。只能处理纯数据(丢函数、Date、RegExp、循环引用报错)。生产级深拷贝要处理:原始值短路、循环引用、V8(Chrome / Node 的 JS 引擎)不是"解释一行跑一行"那么简单,它用。图:V8 执行流程——解释执行 + 热点优化,优化失败会 Deopt 回退。JS 内存自动管理,但"自动"不等于"不会漏"。是"固定间隔最多执行一次"。手写 Promise 是"懂异步"的试金石。是"停下后才执行最后一次",

qq_38468358的博客 327

【JVM】对象内存布局

HotSpot JVM 中,Java 对象内存布局由对象头(12字节,含Mark Word与压缩Klass Pointer)、实例数据及对齐填充构成,总大小为8字节倍数。对象头支持锁状态动态复用,指针压缩使引用仅4字节,但堆超32GB时失效。实例字段按类型优先级重排序以减少间隙,最小对象大小为16字节。通过JOL工具可精准验证布局,理解锁机制、GC、伪共享等底层行为。

2301_79732484的博客 147

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

要努力去发光,而不是被照亮~ 113
上一篇: 数据库设计范式
下一篇: java中子类,父类的方法调用及属性值
hellohm_ndsc
博客等级 码龄14年 4粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值