关于Java中代码的执行顺序

这篇具有很好参考价值的文章主要介绍了关于Java中代码的执行顺序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

结论

注意 只有显式的加载类 JVM才会加载到内存中文章来源地址https://www.toymoban.com/news/detail-422703.html

  • 先加载父类的静态代码块 然后执行子类静态代码块
  • 当前类存在类静态变量注意引用类型没进行赋值操作初始化为null 并不会显式的加载类又存在静态代码块 会先执行前者进行初始化 再执行静态代码块
  • 在实例化类的时候 执行顺序 构造代码块-->构造方法存在父类先执行父类
  • 注意 静态成员变量/静态代码块只在JVM运行时 类加载到内存的时候执行一次
public class Test {
    static B b=new B(); //这里存在实例 会加载类B 类A
    A a =new A();
    static {
        System.out.println("test static");
    }
    public Test(){
        System.out.println("test constructor");
    }
    {
        System.out.println("test module");
    }

    public static void main(String[] args) {
        //A1-->B1-->A2-->A3-->B2-->B3-->TEST STATIC
    }
}
class A{
    static {
        System.out.println("A1");
    }
    {
        System.out.println("A2");
    }
    public A(){
        System.out.println("A3");
    }
}
class B extends A{
    static {
        System.out.println("B1");
    }
    {
        System.out.println("B2");
    }
    public B(){
        System.out.println("B3");
    }
}

到了这里,关于关于Java中代码的执行顺序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 代码块,执行顺序,类加载,创建对象

    代码块又称初始化块,属于类中的成员【即 是类的一部分】,类似于方法,将逻辑语句封装在方法体中,通过{}包围起来 和方法不同,没有方法名,没有返回值,没有参数,只有方法体,而且不用通过对象或类显示调用,而是加载类时,或创建对象时隐式调用。 基本语法

    2023年04月10日
    浏览(34)
  • 从零开发基于ASM字节码的Java代码混淆插件XHood

    因在公司负责基础框架的开发设计,所以针对框架源代码的保护工作比较重视,之前也加入了一系列保护措施 例如自定义classloader加密保护,授权license保护等,但都是防君子不防小人,安全等级还比较低 经过调研各类加密混淆措施后,决定自研混淆插件,自主可控,能够贴

    2024年02月06日
    浏览(34)
  • 无人机自主探索FUEL:代码阅读3--执行循环顺序与部分释义

    执行 fast_exploration_manager.cpp 中的 FastExplorationManager::planExplore ,进行探索并选择视点; 此时终端打印max_id,min_id,代价cost mat以及旅行商算法参数 TSP — 相当于对应原文的第一部分,建立FIS,找到边界簇并不断更新信息,找到视点 执行 fast_exploration_manager.cpp 中的 FastExploration

    2024年02月14日
    浏览(35)
  • async和await用法理解和快速上手 , 同步任务和异步任务顺序安排和轻松理解 , js代码执行顺序表面知道

    学习关键语句 : async , await 用法 await 怎么使用 同步任务和异步任务 微任务和宏任务 js中代码执行顺序 虽然说 async 和 await 是 Promise 的语法糖 , 但是用惯了Promise 的人(我) , 还真不能超快速使用上这个语法糖 , 所以赶紧写一篇文章出来让各位了解了解这个到底怎么用在我的项目

    2024年02月03日
    浏览(49)
  • 【SQL开发实战技巧】系列(五):从执行计划看IN、EXISTS 和 INNER JOIN效率,我们要分场景不要死记网上结论

    【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事 【SQL开发实战技巧】系列(二):简单单表查询 【SQL开发实战技巧】系列(三):SQL排序的那些事 【SQL开发实战技巧】系列(四):从执行计划讨论UNION ALL与空字符串UNION与OR的使用注意事项 【SQL开发实战技巧】系列

    2023年04月09日
    浏览(42)
  • 【昕宝爸爸小模块】如何让Java的线程池顺序执行任务

    ➡️博客首页       https://blog.csdn.net/Java_Yangxiaoyuan        欢迎优秀的你👍点赞、🗂️收藏、加❤️关注哦。        本文章CSDN首发,欢迎转载,要注明出处哦!        先感谢优秀的你能认真的看完本文,有问题欢迎评论区交流,都会认真回复! Java中的线程池

    2024年01月16日
    浏览(45)
  • Fabric:链码的部署及执行

    Hyperledger Fabric:V2.5.4 使用Fabric搭建自定义网络参考:https://blog.csdn.net/yeshang_lady/article/details/134113296 使用Fabric创建应用通道参考:https://blog.csdn.net/yeshang_lady/article/details/134668458 接下来将介绍如何在自定义的网络和通道上部署以及执行链码。 Fabric中链码的部署一般包括以下步骤

    2024年02月04日
    浏览(50)
  • 一文读懂异步和同步——async/await在运行时和普通代码的执行顺序的问题

    一、执行顺序问题 JavaScript中的await语句是异步编程中用于等待Promise对象执行结果的,它通常与async函数一起使用。在使用await时,程序的执行将暂停,直到该后面的Promise对象完成执行并返回结果。 函数代码执行顺序通常情况下按照代码所在文件从上至下

    2024年02月03日
    浏览(43)
  • 深入理解深度学习——注意力机制(Attention Mechanism):带掩码的多头注意力(Masked Multi-head Attention)

    分类目录:《深入理解深度学习》总目录 相关文章: ·注意力机制(AttentionMechanism):基础知识 ·注意力机制(AttentionMechanism):注意力汇聚与Nadaraya-Watson核回归 ·注意力机制(AttentionMechanism):注意力评分函数(AttentionScoringFunction) ·注意力机制(AttentionMechanism):Bahda

    2024年02月09日
    浏览(45)
  • 关于preg_replace \e的代码执行

    今天做题的时候,遇到一个很有趣的题目,preg_replace大家都熟悉吧,这个大多是用来过滤使用的,但是说你没想到这个也可以进行命令执行吧。 注意:下面的方法在php7被禁用了 首先我们来了解preg_replace,这是一个php中的函数,主要用于执行一个正则表达式的搜索和替换。

    2023年04月24日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包