静态代码块、构造代码块、构造方法、普通代码块

java静态代码块,构造方法,构造代码块的执行先后顺序 1、执行顺序 静态代码块>构造代码块>构造方法 原因: 静态代码块(static{})在类加载的时候执行一次,是最早被执行的。 构造代码块({}内的部分)在每一次创建对象时执行,始终在构造方法前执行。 构造方法在新建对象时调用( 就是new的时候 )。 注意: 静态代码块在类加载的时候就执行,所以它的优先级高于入口main()方法。 当三种形式不止一次出现,同优先级是按照先后顺序执行。 程序代码示例: public class StaticTest { public stati 阅读详情

时间:2019-09-30 13:38:54

直接上代码吧。。

图片.png

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

package cn.demo;

public class Line {

    static {

        System.out.println("静态代码块");

    }

    private static String ss = getString();

    private static String getString() {

        System.out.println("静态属性赋值的静态方法");

        return "sss";

    }

    {

        System.out.println("构造代码块");

    }

    public Line() {

        System.out.println("构造方法代码块");

    }

    public Line(String name){

        System.out.println("带参数的构造方法:"+name);

    }

}

主方法

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

package cn.demo;

public class HelloWorld {

    public static void main(String[] args) {

        {

//            代码块

            System.out.println("主函数代码块");

        }

        System.out.println("方法1");

        Line l1 = new Line();

        System.out.println(">>>>>>>>>>>>>>>>>");

        System.out.println("方法2");

        Line l2 = new Line("我是参数");

        System.out.println("<<<<<<<<<<<<<<<<<");

    }

}

图片.png

总结:

普通代码块:

在方法或语句中出现的{}就称为普通代码块。
普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--“先出现先执行”

静态代码块:

在java中使用static关键字声明的代码块。
静态块用于初始化类,为类的属性初始化。每个静态代码块只会执行一次。
由于JVM在加载类时会执行静态代码块,所以静态代码块先于主方法执行。
如果类中包含多个静态代码块,那么将按照"先定义的代码先执行,后定义的代码后执行"。(我这没作出test)

构造代码块:

直接在类中定义且没有加static关键字的代码块称为{}构造代码块。
构造代码块在创建对象时被调用,每次创建对象都会被调用,并且构造代码块的执行次序优先于类构造函数。
这个构造代码块的执行顺序不会因为方法所在位置而影响,我特意将他放在构造函数之后。

注意:
1 静态代码块不能存在于任何方法体内。
2 静态代码块不能直接访问静态实例变量和实例方法,需要通过类的实例对象来访问。

图片.png

PL端:HDMI 输出实验 开发板没有HDMI编码芯片,是将FPGA的3.3差分IO直接连接到HDMI连接器,FPGA 完成 24 位 RGB 编码输出TMDS 差分信号。1、学会使用第三点IP核,首先是添加,后面的使用和自带IP核操作一致。2、主要还是在梳理vivado使用流程。 阅读详情

相关推荐

顶刊《会计研究》数据复现|最新上市公司数智化数据

本文基于Python文本分析方法构建了中国A股上市公司数智化指标(1991-2024),通过识别年报中的"机器学习""智能医疗"等关键词,量化企业数字化与智能化融合程度。研究发现数智化企业更倾向于非正式渠道的定性披露以规避风险,该指标为监管完善信披规则提供了参考。研究还揭示了数智化对企业信息披露策略的转变,并提出了未来研究方向,包括数智化对绿色创新、ESG表现等影响机制。数据覆盖非金融类上市公司,采用文本挖掘技术构建结构化指标,为相关领域研究提供了微观基础。

PPdata_Academy的博客 1467

15.静态代码块-构造代码块-构造方法

静态代码块在类加载的时候就执行,所以它的优先级高于入口main()方法。{}:每次调用构造方法的时候执行(即创建对象的时候执行)。当三种形式不止一次出现,同优先级是按照先后顺序执行。一、静态代码块、构造代码块、构造方法。一、静态代码块、构造代码块、构造方法。static{}:类加载的时候执行。静态代码块>构造代码块>构造方法。创建(new)对象的时候调用。

khmff的博客 173

使用pdfBox实现pdf转图片出现中文方块乱码 简单修改源码解决

参考文章 问题排查:使用pdfbox将pdf转image时STSong-Light字体中文乱码 pdfbox版本是2.0 日志中打印出类似这样的日志(例:Using fallback XXX for CID-keyed font STSong-Light),就说明系统没有安装STSong-Light字体,pdfbox使用XXX字体来替代了。如果出现方块,就说明没有这种字体,并且替代字体也没有,日志也有相应的其他提示。 正常操作就是安装缺失的 STSong-Light 字体,但是在网上搜到的都是 STSong

aji_csdn的博客 5266

java 中的静态变量,静态代码块,动态代码块,构造方法执行顺序的深入探究

要想完全弄懂这个执行顺序,需要我们先了解几个概念。 首先是类加载与对象的构造,类加载就是在第一次调用这个类的时候jvm虚拟机会通过类加载器在一个叫做方法区的逻辑内存中将所要用到的类的信息存放在里边,其中方法区有一个静态区,存放的是类中的静态(类变量),而对象构造则只是在堆中开辟一个内存空间将实例化的对象存放在里边,在生命周期中要远远小于类。 第二是java中关于静态代码块与动态代码块的注释,静...

qq_41063182的博客 2068

量子城域网建设设备系列(三):网络管理系统(NMS)

本文对量子网络中的网络管理系统进行了初步的介绍。

量子领域相关话题 2012

避坑指南:合宙Air780EG阿里云一型一密连接时,为什么你的HmacMD5加密总失败?

本文针对合宙Air780EG模组连接阿里云物联网平台时,HmacMD5签名失败的常见问题提供深度解决方案。详细剖析了签名拼接格式、密钥使用、随机数处理及编码大小写等关键陷阱,并结合STM32嵌入式开发环境,给出了串口调试、分步验证及AT指令链路的实用排错技巧,帮助开发者顺利完成一型一密动态注册。

kiwi8的博客 440

Java静态代码块、构造代码块、构造方法的执行顺序

Java静态代码块、构造代码块、构造方法的执行顺序静态代码优先于非静态的代码,是因为被static修饰的成员都是类成员,会随着JVM加载类的时候加载而执行,而没有被static修饰的成员也被称为实例成员,需要创建对象才会随之加载到堆内存。所以静态的会优先非静态的。 执行构造器(构造方法)的时候,在执行方法体之前存在隐式三步: 1,super语句,可能出现以下三种情况: 1)构造方法体的第一行是

__kingzone__的专栏 3万+

Coze HTTP请求节点实战:5分钟搞定天气API对接(含动态参数技巧)

本文通过一个天气预报API对接的实战案例,详细讲解了如何在Coze平台使用HTTP请求节点实现外部数据交互。文章重点演示了动态参数传递、JSON响应解析与错误处理等核心技巧,帮助开发者在5分钟内快速构建稳定可靠的智能体外部服务调用能力。

weixin_29233333的博客 675

静态代码块 构造代码块 构造方法

静态代码块 构造代码块 构造方法 public class psv { public static void main(String[] args) { Person p1 = new Person(); Person p2 = new Person(); } } class Person{ private String name; private int age; /* 构造方法随着着对象的创建而调用 */ public Person() {

weixin_44898999的博客 448

Windows打印体系结构之Windows内置打印驱动程序

时间是一种很残酷的东西,它只会冲淡能够冲淡的,但也会洗尽铅华帮你留下该留下的。1.3.4、Windows内置打印驱动程序现在的Windows下的打印机驱动程序通常分为V4打印机驱动程序(V4 Printer Driver)、XPS打印机驱动程序(XPSDrv)、微软通用打印机驱动程序(Microsoft UniversalPrinter Driver)、微软PostScri...

weixin_34309435的博客 2253

逆向拆解dy接口a_bogus 1.0.1.19版本核心算法(纯算版)第二部分

本文深入解析了dy接口a_bogus 1.0.1.19版本的核心算法,重点介绍了逆向分析的基础方法论、魔改Base64编码识别与还原、随机数生成与位运算解析等关键技术。通过详细的代码示例和实用技巧,帮助开发者掌握逆向工程中的关键步骤,特别是针对a_bogus参数的生成逻辑和混淆处理。

weixin_29288313的博客 406

Java:构造方法与普通/静态/构造代码块

文章目录声明构造方法普通代码块静态代码块构造代码块构造方法、静态代码块、构造代码块的执行顺序 声明 1)该文章部分内容整理自网上的资料,如不小心侵犯了大家的权益,还望海涵,并联系博主删除。 2)博主是萌新上路,文中如有不当之处,请各位大佬指出,共同进步,谢谢。 构造方法 默认构造器、构造器重载、构造器的继承 1.构造方法必须和类名完全相同。在java中,普通方法可以和构造方法同名,但是必须带有返回值。 2.构造方法的功能主要用于在类创建时定义初始化的状态。没有返回值,也不能用void来进行修饰。这就保

sid10t. 2万+

朱长江《偏微分方程简明教程》答案第一章部分

偏微分方程简明教程第一章习题1.1 第一章 习题1.1 1、指出下列方程的阶,并判断它是线性的还是非线性的。如果是线性的,说明它还是其次的: (1)ut−(uxx+uyy)+1=0;(2)ut−uxx+xu=0;(3)ut−uxxt+uux=0;(4)ux2+uuy=0;(5)utt−uxx+t2+x2=0;(6)ux+eyuy=0;(7)ut+uxxxx+1+u=0;(8)ux(1+ux2)−12+uy(1+uy2)−12=0;(9)∂4u∂x4+2∂4u∂x2∂y2+∂4u∂y4=0;(10)∂3u∂x

ymengm的博客 6760

普通代码块,静态代码块,构造代码块,构造方法

1.使用示例 2.静态代码块介绍 在类中通过static修饰然后大括号里面的内容就是静态代码块。见13.1实例 static { } 静态代码块在类被加载的时候执行,并且他只会执行一次,优先于其他所有代码块以及构造方法执行,如果有多个静态代码块则按编写顺序执行。 静态代码块在项目启动的时候执行, 静态代码块不能存在方法,主要放一些项目启动就需要加载的配置或者固定资源以及属性。 比如我们可以放一些固定的正则表达式...

qq_33719894的博客 2215

IEM模型,地表粗糙度模拟

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

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

关于静态代码块,构造代码块,构造方法,普通代码块的一些概念和执行顺序

关于静态代码块,构造代码块,构造方法和普通代码块的执行顺序 1.静态代码块:在类加载时执行,并且只执行一次,它的优先级高于其他任何代码块和构造函数。 2.构造代码块:用于对象的初始化,在创建对象时调用,每次创建都会调用一次,在构造函数之前执行,它依托于构造函数,如果不实例化对象,构造代码块也不执行。 3.构造函数:每创建一个对象时就会执行一次。同时构造函数是给特定对象进行初始化,而构造代码是给所有对象进行初始化,作用区域不同。 4.普通代码块:存在于方法体中。 new 一个对象的时候总是先执行构造代码,再

m0_50857829的博客 839

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

静态代码块、静态方法、静态变量、普通代码块、构造方法的执行顺序。

静态代码块、静态方法、静态变量、普通代码块、构造方法的执行顺序。 定义一个父类Test public class Test { static int age = 10; // 静态变量age static { System.out.println("Test静态代码块"); } { System.out.println("Test普通代码块"); } public static void exam() {

weixin_44061521的博客 4398

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Java中类的静态代码块、构造代码块、构造方法、普通代码块

前言 Java中静态代码块、构造代码块、构造方法、普通代码块的执行顺序是一个比较常见的笔试题,合理利用其执行顺序也能方便实现项目中的某些功能需求 。 静态代码块 a.定义格式 在Java类(静态代码块不能定义在方法中)中,通过static关键字和{}声明的代码块: public class Person { static{ System....

小诸葛的博客 487

Java静态代码块、普通代码块、构造方法的优先级

0. 引言 一、代码块: 只有方法体,没有方法名、没有参数、没有返回 基本语法:[修饰符] {方法体} 静态代码块:修饰符为static,只能调用静态成员 普通代码块:无修饰符,可以调用类所有成员 二、构造方法: 方法名与类名相同,没有返回值,但不能写void 基本语法:`[修饰符] 类名(形参列表) {方法体} 1. 在同一个类中的调用顺序 A) 新建一个类取名PriorityTest,依次定义构造方法、普通代码块、静态代码块 class PriorityTest { // 定义构造方法

Coefficient1996的博客 1180

Java中静态代码块、非静态代码块、构造方法、普通方法的调用顺序总结

Java中静态代码块、非静态代码块、构造方法、普通方法的调用顺序总结欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown

Glory_yang的博客 356

Java 普通变量,静态变量,普通代码块,静态代码块,构造方法的执行顺序

Java 普通变量,静态变量,普通代码块,静态代码块,构造方法的执行顺序 1:执行父类静态变量赋值/代码块,按变量/代码块定义的顺序执行 2:执行子类静态变量赋值/代码块,按变量/代码块定义的顺序执行 3:执行父类普通变量赋值/代码块,按变量/代码块定义的顺序执行 4:执行父类构造函数 5:执行字类普通变量赋值/代码块,按变量/代码块定义的顺序执行 6:执行子类构造函数 public class SuperClass { public static Integer k1 = 1; static

cx897459376的博客 585

JAVA中的静态代码块、main方法、构造代码块、构造方法、普通代码块

执行顺序: 1)当没有new对象(有普通方法)时: 构造代码块和构造方法均不会执行,此时有:静态代码块>main方法>普通代码块 public class Demo4 { { System.out.println("构造代码块"); } public Demo4(){ System.out.println("构造方法"); ...

Oops_X的博客 396

Java中静态代码块、构造代码块、构造方法、普通方法

一个类里执行顺序为:静态代码块、构造代码块、构造方法、普通方法 子父类: 父类静态代码块 子类静态代码块 父类构造代码块 父类构造方法 子类构造代码块 子类构造方法 ...

一叶知秋 687

构造方法,静态代码块,普通代码块执行顺序

public class SuperClass { static { System.out.println("SuperClass 静态代码块"); } { System.out.println("SuperClass 普通代码块"); } public SuperClass() { System.out.p...

ZMPRESS 113

父/子类 静态代码块,普通代码块,构造方法加载顺序

class Person { static { System.out.println("父类静态代码块"); } public Person(){ System.out.println("父类构造方法"); } public static void run1(){ System.out.println("父类静态方法"); } { System.out.println("父类普通代码块")

qq_30864125的博客 288

静态代码块,构造代码块、构造方法、普通方法和局部代码执行顺序

(如果存在):在类加载时执行,且只执行一次。

guapilixianghe的博客 716

静态代码块、静态方法、普通代码块、构造方法优先级

代码 package test0908.demo1; /** * @author : Bei-Zhen * @date : 2020-09-08 22:56 */ public class Demo1 { public static void main(String[] args) { System.out.println("静态方法"); new Demo1(); new Demo1(); } public Demo1()

每天一个前端小知识~ 512
上一篇: java基础知识总结
下一篇: Collection集合我们到底使用谁呢?
springdk2009
博客等级 码龄17年 1835粉丝 257原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值