`

父类、子类、静态初始化块、初始化块

 
阅读更多

1.单独的一个对象初始化,不含继承和其他情况

父类静态初始化块

父类初始化块

调用了父类无参构造器

2.包含继承的子类初始化

子类静态初始化块

父类初始化块

调用了父类无参构造器

子类初始化块

调用子类的构造器

3.包含继承和多态的子类初始化

父类初始化块

调用了父类无参构造器

子类初始化块

调用子类的构造器

 
  • fs.jar (2.1 KB)
  • 下载次数: 2
分享到:
评论

相关推荐

    java 静态非静态 字段方法 子类父类构造_初始化顺序!

    System.out.println("父类--静态初始化块"); } // 初始化块 { System.out.println(p_Field); System.out.println("父类--初始化块"); } // 构造器 public Parent() { System.out.println(...

    java面试题-类的初始化顺序.doc

    3. 然后,创建子类实例,首先执行父类的非静态初始化块,打印出 "父类--变量" 和 "父类--初始化块"。 4. 继续执行子类的非静态初始化块,打印出 "子类--变量" 和 "子类--初始化块"。 5. 最后,执行子类的构造器,...

    对象初始化流程梳理对象初始化流程梳理

    - **子类非静态初始化**:在父类初始化完成后,继续进行子类的实例初始化,包括子类的非静态初始化块和子类的非静态属性。`Son`类的非静态属性`b4`、非静态块以及`b5`的初始化按顺序进行,然后调用子类构造器`Test...

    java父类和子类初始化顺序的深入理解

    这个顺序对于理解类的初始化过程非常重要,特别是在处理复杂的继承结构时,可能包含多个父类和多个子类的构造器,以及静态和非静态初始化块。确保理解这个顺序可以帮助避免潜在的运行时错误,例如,依赖于未初始化的...

    类初始化顺序示例讲解

    6. **子类静态初始化块**:紧接着,执行第二个静态初始化块,输出 `"我输出的是子类静态块内容→" + TestClass.name`。此时 `name` 已被初始化,输出为 `"我输出的是子类静态块内容→子类静态变量"`。 #### 非静态...

    java中类的初始化顺序

    System.out.println("子类静态初始化"); } // 子类实例初始化块 { System.out.println(s_Field); System.out.println("子类实例初始化"); } // 子类构造方法 public SubClass() { System.out.println(...

    Java static静态初始快

    5. **继承关系**:子类会继承父类的静态初始化块,但不会重复执行。父类的静态初始化块只在父类加载时执行一次。 6. **使用场景**:常用于设置静态变量的初始值,创建静态对象,或者执行一次性的系统设置操作。 在...

    JAVA面试题解惑系列——类的初始化顺序

    特别要注意的是,在子类的初始化过程中,子类的静态变量和静态初始化块会在父类的变量、初始化块、构造器之前就被初始化。也就是说,在父类完全初始化完毕之前,子类的静态成员已经完成初始化了。 这个顺序很重要,...

    JAVA面试题解惑系列.docx

    这是因为父类的静态变量和静态初始化块是在父类被加载时被初始化的,而子类的静态变量和静态初始化块是在子类被加载时被初始化的。 现在,让我们来看一下静态变量和静态初始化块之间的先后顺序。静态变量和静态初始...

    JAVA类的初始化顺序文.pdf

    2. **非静态成员和非静态初始化块**:接着,会先初始化父类的非静态变量和执行父类的非静态初始化块,然后才是子类的相应部分。"父类 --变量" 和 "子类 --变量" 在这里被初始化,接着执行各自的初始化块。 3. **...

    JAVA面试题解惑系列类的初始化顺序JAVA程序员JAVA工程师面试必看.pdf

    3. **父类的非静态部分**:在创建子类实例时,首先执行父类的非静态变量初始化和非静态初始化块,然后调用父类的构造器。 4. **子类的非静态部分**:最后执行子类的非静态变量初始化和非静态初始化块,以及子类的...

    javase子类父类继承关系图解

    2. **父类的非静态初始化块**:接着,如果父类有非静态初始化块(也称为实例初始化块),它会在父类的构造函数执行之前运行。这些块用于初始化父类的实例变量。 3. **父类的默认构造器**:然后,调用父类的默认构造...

    JAVA面试题解惑系列(一)——类的初始化顺序-JAVA程序员JAVA工程师面试必看.pdf

    1. **静态变量和静态初始化块**:首先,按照声明的顺序,执行父类的静态变量和静态初始化块,然后执行子类的静态变量和静态初始化块。这是因为静态成员属于类,不依赖于类的实例,所以在创建任何对象之前就已经完成...

    简单了解java中静态初始化块的执行顺序

    静态初始化块的执行顺序是从上到下依次执行的,先执行父类的静态初始化块,然后执行子类的静态初始化块。 在Java中,静态初始化块的执行顺序是由Java虚拟机(JVM)来控制的。JVM在加载类时,会对静态初始化块进行...

    经典JAVA面试题解惑系列合集

    - 父类的非静态成员(包括非静态变量、非静态初始化块和构造器)在子类的非静态成员之前初始化。 - 子类的成员按声明顺序初始化。 ##### 示例代码解析 以下是一段示例代码,用于演示继承情况下的类初始化顺序: `...

    JAVA面试题解惑系列.doc

    // 子类静态变量和初始化块 } ``` 在这个例子中,初始化顺序为: 1. 父类的静态变量和静态初始化块 2. 子类的静态变量和静态初始化块 3. 父类的非静态变量、非静态初始化块和构造器 4. 子类的非静态变量、非静态...

    java面试解惑系列

    2. 父类中的所有非静态成员(包括变量、非静态初始化块和构造器)在子类的相关成员之前被初始化。 3. 在同一个类中,静态变量的初始化发生在静态初始化块之前,而非静态变量的初始化则发生在非静态初始化块之前。 ...

Global site tag (gtag.js) - Google Analytics