首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java 静态代码块,构造代码块,构造函数执行顺序

类调用时,先执行静态代码块,然后才执行主函数的,总的来说,静态代码块是和类一起的,优先级最高,类加载的同时,静态代码块同时也执行,但只执行一次,所以作用一般是用来加载一些配置代码,或者加载某些文件配置。...构造代码块 构造代码块的作用同样是给对象进行初始化。对象一建立就运行构造代码块了,而且优先于构造函数执行。...这里要强调一下,有对象建立,才会运行构造代码块,类不能调用构造代码块的,而且构造代码块与构造函数的执行顺序是前者先于后者执行。...,都会先执行相同的构造代码块。...也就是说,构造代码块中定义的是不同对象共性的初始化内容。 运行结果: 可以看出来,静态代码块只执行一次,而每次创建对象都会调用共同的构造代码块,而构造函数也只在创建对象时执行该对象的构造函数。

79310
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java代码块执行顺序初探

    所以先执行父类构造函数,再执行子类构造函数。 2、静态块、构造方法 静态代码块:在java中使用static关键字声明的代码块。...每个静态代码块只会执行一次。 由于JVM在加载类时会执行静态代码块,所以静态代码块先于主方法执行。 如果类中包含多个静态代码块,那么将按照"先定义的代码先执行,后定义的代码后执行"。...当父类与子类都有静态代码块和构造函数的时候,执行顺序如下: 父类静态代码块 > 子类静态代码块(Java虚拟机加载类时,就会执行该块代码)。...静态代码块是在JVM加载类的时候执行的,而且静态代码块执行且仅执行一次 实例2: 子类包含静态属性---子类的实例化。...普通方法的声明(按出现顺序执行) 然后子类构造方法 参考资料 深入了解Java程序执行顺序 Java中普通代码块,构造代码块,静态代码块区别及代码示例 Java:构造器,构造代码块,静态代码块的执行顺序

    2.7K10

    java构造方法,构造代码块,静态代码块的执行顺序

    构造方法,构造代码块,静态代码块的执行顺序静态代码块:用static声明,jvm加载类时执行,仅执行一次类中直接用{}定义,每次创建对象时执行 同级别的变量(static和普通变量)的执行顺序由代码执行顺序决定...构造代码块。。。变量 id:100构造函数。。。。不执行Rumenz r=new Rumenz();输出 代码解读复制代码静态变量name:入门小站静态代码块。。。...;}给对象进行初始化.对象一创建就会执行构造代码块,而且先于构造方法执行.构造代码块每一次创建对象都会执行,但是创建对象时调用不通的构造方法会得到不同的对象,也就是说构造代码块用于初始化对象通用的属性或者功能....静态代码块 代码解读复制代码static { System.out.println("静态代码块。。。")...;}由jvm加载类时执行,而且只执行一次.静态代码块是给类进行初始化,构造代码块是给对象进行初始化静态代码块中的变量属于局部变量

    4400

    Java中静态代码块、代码块以及构造函数执行顺序详解

    静态代码块,代码块,构造方法执行顺序 前段时间面试,做到一个笔试题主要考察的是静态代码块,代码块,构造方法的执行顺序,由于自己没复习所以这个题肯定没做出来,回家后在Idea中进行代码测试运行。...可以看出到实际上执行顺序应该是父类静态代码块——>子类静态代码块——>父类代码块——>父类构造方法——>子类代码块——>子类构造方法。 为什么先执行父类的静态代码块呢? 但是为什么会这样呢?...静态代码块在Java是最优先执行的,且只会执行一次,当子类的super在调用父类的构造方法时所以先回去执行父类的静态代码块,然后执行子类的静态代码块,所以会执行父类静态代码块再执行子类静态代码块。...为什么第二个执行代码块? 讲完了静态代码块是最优先执行的,但是为什么代码块的执行顺序会比构造方法先呢?我们通过反编译工具来看一下 ?...,所以此时就会执行父类的代码块以及构造方法,当super执行完毕回到子类时,由于子类的代码块也被放到了构造方法中,且在super之后所以执行子类代码块再执行子类构造方法。

    1.5K30

    static静态代码块加载和执行

    静态代码块,非静态代码块,无参构造,有参构造,这些代码片段分别在什么时候加载执行?...package com.java4all.test10; public class Father { static { System.out.println("father的静态代码块...son的静态代码块 father的非静态代码块 father的构造方法 son的非静态代码块 son的构造方法 创建son对象后 4.如果父类没有无参构造,只有有参构造 这种情况,子类需要在构造方法中显示的调用父类的有参构造...son的静态代码块 father的非静态代码块 father的带参构造方法 son的非静态代码块 son的构造方法 创建son对象后 5.如果父类没有无参构造,也没有有参构造 子类的构造只管自己就好,...6.总结 总的来说,按照如下的大顺序调用: 父类静态代码块 子类静态代码块 父类非静态代码块 父类构造函数 子类非静态代码块 子类构造函数

    58320

    Joomla未授权访问漏洞到代码执行

    CMS中的一个未授权访问漏洞(CVE-2023-23752),目前该漏洞的细节及PoC/EXP已公开。 漏洞介绍 在 Joomla!...CMS 版本4.0.0-4.2.7中 由于对web 服务端点访问限制不当,可能导致未授权访问Rest API,造成敏感信息泄露(如数据库账号密码等)。...未授权路径在: /api/index.php/v1/config/application?public=true 我们可以直接看到数据库的配置信息。...text.txt即可,自用写死了 结果会生成result.txt在目录下: 结果是写入的漏洞地址: 但这里推荐一款使用python编写的验证工具,也可以批量验证该漏洞 工具下载地址,见文章底部 代码执行思路...使用未_绑定_到127.0.0.1. Censys 显示了数千个 Joomla! 服务器与暴露的 MySQL 服务器位于同一位置。

    56410

    静态代码块、非静态代码块、构造函数三者执行顺序

    主要探讨一下关于静态代码块,非静态代码块,构造函数的执行顺序。 如有错误,欢迎指出。 首先: 静态成员变量和静态代码块的优先级是一样的,先定义的先执行。...在创建一个对象的时候会执行非静态代码块和构造函数 再者是执行顺序: /* * *(1)父类静态成员和静态初始化块,按在代码中出现的顺序依次执行。...* *(2)子类静态成员和静态初始化块,按在代码中出现的顺序依次执行。 * *(3)父类实例成员和实例初始化块,按在代码中出现的顺序依次执行。 * *(4)执行父类构造方法。...1.静态成员变量和静态代码块的优先级是一样的,先定义的先执行。...2.在创建一个对象的时候会执行非静态代码块和构造函数。

    49220

    Java静态代码块执行方法和顺序

    执行代码块格式: static{ procudure... } 特点: 随着类的加载而执行,且只执行一次,并优先于主函数。用于给类初始化。...执行顺序: 示例: 静态代码块随着类的加载而加载 有多个静态代码块的,按代码块前后顺序加载 一个代码块,只执行一次 class StaticCode1{ static{...System.out.println("x"); } } public class StaticDemo1{ static{ //第一步,先加载主函数所在类,所以先加载并执行这段静态代码块...{ new StaticCode1(); //第三步,加载StaticCode1类 new StaticCode1(); //第四步,类只加载一次,静态代码块只执行一次...,这里不再执行 System.ou.println("over"); //第五步,输出打印 } static{ //第二步,多个静态代码块

    1.6K20

    静态代码块、静态变量,构造代码块、实例变量的执行顺序和继承逻辑

    变种面试题 原因: 冷知识 case4:子类和父类有`同名同类型`的`静态`变量的时候 case5:静态代码块属于类的,并且优先于main方法执行(有难度) 注解对执行顺序的影响 继续补充:子类默认调用...:构造代码块优先于构造方法执行,且优先于属性初始化之前执行 @PostConstruct是对象的属性都初始化ok了之后才去执行的(注意你new的话,@PostConstruct方法是不会执行的,他是Spring...执行构造函数之前,必须初始化实例属性,所以a=110 2. 静态变量从上到下初始化,而st变量还没初始化完呢,所以b此时值为0 执行紧跟着的静态代码块。...(看到没,这个时候b变量的赋值语句还没有执行哦~~~) 而对象初始化的顺序为:成员变量 -> 普通代码块 -> 构造函数,因此这一波过后:a=110了。...+ 静态代码块。

    97750

    【说站】java代码块的执行顺序是什么

    java代码块的执行顺序是什么 1、类的静态代码块、结构代码块、结构方法的执行流程 静态码块>结构码块=显示初始化(看顺序)>结构方法。 2、静态内容随类加载而加载。 静态码块内容优先执行。...类成员变量的初始化顺序:显式初始化与结构代码块的初始化等级一致,因此代码顺序决定初始化顺序,但注意结构代码块不能添加数据类型。...("构造代码块Fu");     }       public Fu() {         System.out.println("构造方法Fu");     } }   class Zi extends... Fu {     static {         System.out.println("静态代码块Zi");     }       {         System.out.println("构造代码块...ExtendsTest2 {     public static void main(String[] args) {         Zi z = new Zi();     } } 以上就是java代码块的执行顺序

    58420

    举例说明Java中代码块的执行顺序

    执行父类的构造函数。 实现自身的非静态属性和非静态代码块。 执行自身的构造函数。 这里需要简单的介绍一下静态代码块和非静态代码块。 1....静态代码块: static { } 2. 非静态代码块 { } 静态代码块:在类加载时执行,只执行一次。...静态代码块和非静态代码块的异同点如下: 相同点:都是JVM加载类时且在构造函数执行之前执行,在类中都可以定义多个,一般在代码块中对一些static变量进行赋值。...不同点:静态代码块在非静态代码块之前执行(静态代码块 > 非静态代码块)。静态代码块只在第一次new时执行一次,之后不再执行。而非静态代码块每new一次就执行一次。...实例代码块在每次创建对象时执行,然后再执行构造方法。 注意,代码块的执行顺序是固定的,无论创建多少个对象,都会按照上述顺序执行。

    10510

    jQuery AJAX load()方法中代码执行顺序的问题

    alert("Error: "+xhr.status+": "+xhr.statusText); }); }); HTML: 使用 jQuery AJAX...那么根据这个解释,这段代码应该是先执行 load("demo_test.txt") 加载外部内容,之后再执行回调函数弹出 alert。...但是实际运行后发现和预想的不一样: 方法中代码执行顺序的问题-1.png) 方法中代码执行顺序的问题-2.png) 从结果来看,是先弹出 alert 再改变文本内容。那么,为什么会这样呢?...); if(statusTxt=="success"){ 运行: 方法中代码执行顺序的问题-3.png) 很明显文本内容已经改变,说明前面关于回调函数最后执行的说法是没问题的。...方法中代码执行顺序的问题-5.png) 虽然文本内容看上去不变——但是实际情况是文本内容已经改变了,也就是 load() 方法已经生效了,只是 alert 阻塞了浏览器将它渲染出来。

    1.5K50

    Jenkins 未授权远程代码执行漏洞(CVE-2017-1000353)

    漏洞概要 Jenkins 未授权远程代码执行漏洞, 允许攻击者将序列化的Java SignedObject对象传输给Jenkins CLI处理,反序列化ObjectInputStream作为Command...对象,这将绕过基于黑名单的保护机制, 导致代码执行。...触发jenkins反序列化导致代码执行的漏洞发生在使用HTTP协议实现双向通信通道的代码中,Jenkins利用此通道来接收命令。大致流程如下图: ?...在反序列化输入返回一个Command对象时就执行了cmd命令,而不是通过正常的回调handle()方法执行cmd命令,反序列化导致的执行代码触发的相关异常如下: ?...正常执行Command 虽说反序列化时就执行了cmd代码,这里也顺带了解下正常的执行cmd的过程。

    1.5K60
    领券