一下例子得出结论:加载类的时候

1)先加载staitc代码块或变量 从上到下(从父类到子类,可以理解为static 修饰的都是随类的加载而加载的而且只加载一次

2)然后在执行main()方法

3)之后执行new实例的对象本身 从上到下

4)再之后 构造代码块 在之后执行构造方法

即:static修饰的语句>>main()>>new 实例>>构造代码块>>构造方法

1.先来一道简单点的

Java 面试题:类加载-main()-构造代码块-构造器的执行顺序和关系。

结果输出为:

Java 面试题:类加载-main()-构造代码块-构造器的执行顺序和关系。

2.来一个更加理解深刻的

Java 面试题:类加载-main()-构造代码块-构造器的执行顺序和关系。

结果输出为:

Java 面试题:类加载-main()-构造代码块-构造器的执行顺序和关系。

3.补充说明没有new 就没有分配类的内存地址。

Java 面试题:类加载-main()-构造代码块-构造器的执行顺序和关系。

结果输出为:

Java 面试题:类加载-main()-构造代码块-构造器的执行顺序和关系。

转载于:https://my.oschina.net/huangguangsheng/blog/3006704

相关文章:

  • 2022-03-06
  • 2021-07-27
  • 2022-12-23
  • 2021-08-20
  • 2021-08-09
  • 2021-08-31
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-04-21
  • 2022-12-23
  • 2021-07-03
  • 2021-06-13
  • 2021-08-25
  • 2022-12-23
相关资源
相似解决方案