21xrx.com
2024-11-09 01:48:56 Saturday
登录
文章检索 我的文章 写文章
Java初始化顺序解析及代码案例
2023-06-12 15:13:00 深夜i     --     --

在Java中,对象的初始化顺序非常重要,因为它可能会影响对象的正确性和性能。本文将介绍Java对象初始化的顺序,并给出相应的代码案例。

Java对象初始化顺序

1.静态变量和静态块的初始化顺序:按照它们在代码中出现的顺序执行

2.成员变量和成员块的初始化顺序:按照它们在代码中出现的顺序执行

3.构造方法的执行:最后执行构造方法

代码案例

public class InitOrderDemo {

  private static String staticField = getStaticField();

  static {

    System.out.println("1. static block");

  }

  private String field = getField();

  {

    System.out.println("2. normal block");

  }

  public InitOrderDemo() {

    System.out.println("3. constructor");

  }

  private static String getStaticField() {

    System.out.println("4. static getStaticField");

    return "";

  }

  private String getField() {

    System.out.println("5. normal getField");

    return "";

  }

  public static void main(String[] args) {

    new InitOrderDemo();

  }

}

上述代码的执行顺序为:

1. 执行静态变量和静态块的初始化

输出:4. static getStaticField

输出:1. static block

2. 执行成员变量和成员块的初始化

输出:5. normal getField

输出:2. normal block

3. 执行构造方法的初始化

输出:3. constructor

关键词

1. Java初始化顺序

2. 静态变量和静态块

3. 成员变量和成员块

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复