zoukankan      html  css  js  c++  java
  • Java面试题之类的静态代码块和静态属性等的加载顺序

    如以下面试题:

    /**
    * @author hjs
    * @date 2019/3/62:41
    * @Dec
    */
    public class B {
    public static B t1 = new B();
    public static B t2 = new B();
    {
    System.out.println("父类构造块");
    }
    static {
    System.out.println("父类静态块");
    }
    }

    /**
    * @author hjs
    * @date 2019/3/62:35
    * @Dec
    */
    public class A extends B {
    public static A t1 = new A();
    public static A t2 = new A();
    {
    System.out.println("构造块");
    }
    static {
    System.out.println("静态块");
    }
    public static void main(String[] args) {
    A t = new A();
    }
    }

    输出结果:

    父类构造块、父类构造块、父类静态块、父类构造块、构造块、父类构造块、构造块、静态块、父类构造块、构造块

    B1初始化的:父类构造块;
    B2初始化的:父类构造块、父类静态块
    A1初始化的:父类构造块、构造块
    A2初始化的:父类构造块、构造块、静态块
    main函数创建A时打印的:父类构造块、构造块

      

      

    结论:父类静态属性、父类静态代码块、子类静态属性、子类静态代码块、代码块

  • 相关阅读:
    C++ 重载运算符
    线段树
    矩阵的构造
    矩阵快速幂
    Fibnoccia 数列简单题
    权值线段树
    .net System.Net.Mail 之用SmtpClient发送邮件Demo
    poj-3087 Shuffle'm Up
    hdu-1548 A strange lift
    scu-4440 rectangle (非原创)
  • 原文地址:https://www.cnblogs.com/hujinshui/p/10486221.html
Copyright © 2011-2022 走看看