public class Father { public static Display a1 = new Display("a1"); public Display b = new Display("b"); static{ Display a2 = new Display("a2"); } public Father(){ Display c = new Display("c"); } }
public class Child extends Father{ public static Display A1 = new Display("A1"); public Display B = new Display("B"); static{ Display A2 = new Display("A2"); } public Child(){ Display C = new Display("C"); } }
public class Display { public Display(String name){ System.out.println(name); } }
public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Child child = new Child(); } }
运行结果:
a1 a2 A1 A2 b c B C
总结:
0.静态变量和静态代码块是与类相关的,所以优先于其他实例元素,如实例变量和构造函数.
1.实例变量优先于构造函数.
2.父类元素优先于子类元素.
相关推荐
类继承的初始化顺序类继承的初始化顺序类继承的初始化顺序类继承的初始化顺序
本篇文章主要介绍了Spring 中如何控制2个bean中的初始化顺序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
详细讲解java类中静态变量,普通标量,对象、基本类型的初始化顺序。
对java类初始化以及顺序,详解,由于转载仅供大家参考!
类的初始化顺序,适用于任何一种面向对象的语言。真正了解面向对象的程序的流程。配有实例
java面试题-类的初始化顺序.doc 大家在去参加面试的时候,经常会遇到这样的考题:给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和一些变量,构造器里可能还有一段代码对变量值进行了某种运算,...
具体内容见博客
对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器
java 静态_非静态 字段_方法_代码块 子类父类构造_初始化顺序! 三个class 让你清清楚楚 第一个class java代码如下: package initialOrder; class Parent { // 静态变量 public static String p_StaticField...
C++为类中提供类成员的初始化列表 类对象的构造顺序是这样的: 1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员 2.进入构造函数后在构造函数中执行一般计算 1.类里面的任何成员变量在定义时是不能...
这里直接给出C#类成员一般初始化顺序: 子类静态字段 子类静态构造 子类实例字段 父类静态字段 父类静态构造 父类实例字段 父类实例构造 子类实例构造 为什么说是“一般”初始化顺序呢?因为根据类结构的...
JAVA面试题解惑系列(一)——类的初始化顺序-JAVA程序员JAVA工程师面试必看
所有代码块是从上往下顺序执行的,所以代码块里面使用到的变量如果在块下面初始化会有问题 执行构造方法中内容。 所以看见的空构造方法,只能说第三部没有需要执行的内容。 下面举例子 public class TestClass { ...
java类中静态域、块,非静态域、块,构造函数的初始化顺序,通过本例子,能够清楚了解到java类的初始化顺序
主要介绍了Java类继承关系中的初始化顺序,结合实例形式详细对比分析了Java非继承关系中的初始化与继承关系中的初始化相关原理与操作技巧,需要的朋友可以参考下
类加载及初始化详解2.1 源码到字节码2.1.1 类结构简介2.1.2 字节码反汇编工具2.2 类加载机制2.2.1 加载2.2.2 链接2.2.3 初始化2.3 类初始化过程【重点】2.3.1 方法详解2.3.2 静态变量和静态代码块初始化顺序2.3.3 ...
NULL 博文链接:https://crazybackkom.iteye.com/blog/968174
1.1 类的初始化过程 要创建一个类的实例,必须加载和初始化该类。 main()方法所在的类,会被优先加载并初始化 子类初始化前,会先加载并初始化它的父类 初始化一个类,其实质上就是执行了()方法 ()方法包含了,静态...
了解java中类各个成员的初始化顺序是非常重要的,这样你可以对类有全局的认识。不说太多,直接看下面的例子 class Father { static{ System. out.println("父类静态代码块初始化" ); } { System. out.println...