Java中代码的执行顺序

结论

注意 只有显式的加载类 JVM才会加载到内存中

  • 先加载父类的静态代码块 然后执行子类静态代码块
  • 当前类存在类静态变量注意引用类型没进行赋值操作初始化为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");
    }
}

原文链接:https://www.cnblogs.com/odfive/p/17347059.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中代码的执行顺序 - Python技术站

(0)
上一篇 2023年4月23日
下一篇 2023年4月23日

相关文章

  • Java ForkJoin框架的原理及用法

    Java Fork/Join 框架 什么是 Java Fork/Join 框架 Java Fork/Join 框架是在 JDK7 中引入的,在 java.util.concurrent 包中,它提供了一种并行执行任务的方式,能够将一个大任务拆分成多个小任务进行处理,其中包括我们熟知的 MapReduce。 Fork/Join 的原理 Java Fork/Jo…

    Java 2023年5月26日
    00
  • Java语言实现简单的酒店前台管理小功能(实例代码)

    Java语言实现简单的酒店前台管理小功能(实例代码) 1.概述 本文将介绍如何使用Java语言实现简单的酒店前台管理小功能。本文使用的开发工具是Eclipse,Java版本是Java 8。 2.实现细节 2.1.功能需求 本文中实现的酒店前台管理小功能包含以下需求: 客户入住:记录客户姓名、身份证号、入住时间、退房时间、房间号等信息,并将信息保存到文件中。 …

    Java 2023年5月18日
    00
  • 一篇文章带你了解SpringMVC数据绑定

    一篇文章带你了解SpringMVC数据绑定 SpringMVC是一个非常流行的Java Web框架,它提供了一种方便的方式来处理HTTP请求和响应。在SpringMVC中,数据绑定是一个非常重要的概念,它允许我们将HTTP请求中的数据绑定到Java对象中,以便更方便地处理请求。本文将详细介绍SpringMVC数据绑定的原理和过程,并提供两个示例说明。 数据绑…

    Java 2023年5月17日
    00
  • JAVA 流程控制专项精讲

    JAVA 流程控制专项精讲攻略 什么是流程控制 流程控制是指通过不同的条件语句和循环结构,按照一定的顺序或条件来执行程序。JAVA语言中,流程控制主要包括条件控制和循环控制。 条件控制 条件控制主要包括if语句、if-else语句、if-else if-else语句和switch语句四种。 if语句 if语句的语法结构: if(条件表达式){ //条件成立时…

    Java 2023年5月30日
    00
  • Java代码实现对properties文件有序的读写的示例

    Java代码实现对properties文件有序的读写的示例 在Java中读写properties文件是非常常见的操作,但是在默认情况下properties文件是无序的,这就会给我们的读写操作带来一定的困扰。本攻略将详细介绍Java代码如何实现对properties文件有序的读写操作。 1. 针对JDK7及以下版本的实现方式 在Java 7及以下版本中,虽然无…

    Java 2023年6月15日
    00
  • Java方法引用原理实例解析

    Java方法引用原理实例解析 Java 8 中引入了方法引用(Method reference)的概念,可以使用方法引用来简化 lambda 表达式的书写。方法引用是指在 lambda 表达式中直接调用一个已经存在的函数或者对象方法,从而可以简化代码,提升程序的可读性和可维护性。 方法引用的语法 方法引用的语法如下: 对象名::方法名 类名::静态方法名 类…

    Java 2023年5月26日
    00
  • springboot项目完整后端请求Controller层优雅处理

    那么我们先从介绍Spring Boot项目完整后端请求Controller层处理的一般流程开始: 了解请求方式:HTTP协议定义了很多不同的请求方式,常规的包括GET、POST、PUT、DELETE等,我们需要根据具体的业务场景选择合适的请求方式。 定义API接口:在Controller层中,我们需要定义一组或多组API接口,这些接口对应于前端的具体请求,需…

    Java 2023年5月19日
    00
  • Spring Security十分钟入门教程

    以下是“Spring Security十分钟入门教程”的完整攻略: 什么是Spring Security? Spring Security是一个功能强大,高度可定制的框架,用于保护Java应用程序的安全。 它提供了适用于Web应用程序的身份验证,授权,防止攻击(如CSRF)等保护功能。 怎样使用Spring Security? 步骤1:添加Maven依赖项 …

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部