`
bobshute
  • 浏览: 284753 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

父类与子类的静态代码块和构造方法的执行顺序

    博客分类:
  • j2se
 
阅读更多

package test;


/**
* 要点:
*    一:父类与子类的静态代码块和构造方法的执行顺序  

*       [父类的静态代码块-->子类的静态代码块-->父类构造方法-->子类构造方法]
*    二:静态代码块(static block ),不包含在任何方法体中。当类被载入时,

*       自动执行静态代码块,且只被执行一次经常用于类属性的初始化。
 
*
*/
class Parent {
static{
   System.out.println("parent static block");
}

public Parent(){
   System.out.println("Class Parent conformation");
}
}

pubilc class Child extends Parent {
static{
   System.out.println("son static block");
}

public Child(){
   System.out.println("Class Son conformation");
}

public Child(String str){
   System.out.println("one parameter's conformation of class child");
}
/**
* @param args
*/
public static void main(String[] args) {
   // TODO Auto-generated method stub
   Parent parent = new Child();
   System.out.println("-----------------");
   parent = new Child();
   System.out.println("-----------------");
   Parent parent1 = new Child("");
}
}

运行结果:
    parent static block
    son static block
    Class Parent conformation
    Class Son conformation
    -----------------
    Class Parent conformation
    Class Son conformation
    -----------------
    Class Parent conformation
    one parameter's conformation of class child <!---->
分享到:
评论

相关推荐

    Java常见笔试、面试题目深度剖析,方法重写详解、静态代码块与构造方法执行顺序问题

    本文将深度剖析几个常见的Java面试题目,包括方法重写、静态代码块和构造方法的执行顺序。 首先,我们来讨论**方法重写(Override)**。在面向对象编程中,子类可以继承父类的属性和方法,有时需要根据自己的需求对...

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

    java 静态_非静态 字段_方法_代码块 子类父类构造_初始化顺序! 三个class 让你清清楚楚 第一个class java代码如下: package initialOrder; class Parent { // 静态变量 public static String p_StaticField...

    类加载顺序的代码执行结果

    先静态代码块,然后构造代码块,再是构造方法,然后方法里面的代码块按顺序...子类继承父类的时候,先执行父类的静态代码块,然后子类的静态代码块,然后父类的构造代码块和构造方法,再是子类的构造代码块和构造方法

    构造函数与静态块的执行顺序

    在探讨继承中子类与父类构造函数及静态块的执行顺序时,我们首先需要理解构造函数和静态块的基本概念及其在Java中的作用。构造函数主要用于初始化对象的状态,而静态块则是在类加载到内存中时执行的一段代码,通常...

    java中静态代码块与构造方法的执行顺序判断

    在Java编程语言中,了解静态代码块和构造方法的执行顺序是至关重要的,尤其是在处理类的初始化和对象的创建时。下面将详细解释这些概念及其执行逻辑。 首先,静态代码块(也称为静态初始化器)是由`static`关键字...

    静态代码块

    - 如果父类中有静态代码块,那么在创建子类对象时,父类的静态代码块会先于子类的静态代码块执行。 - 在子类中,如果想要调用父类的构造函数或其他方法,可以使用`super()`关键字。 以上就是关于Java中静态代码块的...

    Java静态代码块作用及执行顺序解析

    在继承关系中,静态代码块的执行顺序是:父类静态代码块 -&gt; 子类静态代码块 -&gt; 父类非静态代码块 -&gt; 父类构造方法 -&gt; 子类非静态代码块 -&gt; 子类构造方法。 静态代码块和静态方法的区别在于:静态代码块是自动执行的...

    再次详细说明在继承中的程序执行顺序,子类与父类到底哪个先执行

    综上所述,程序执行顺序的基本原则是:首先初始化并执行父类的构造器、静态和实例初始化块,然后执行子类的构造器、实例初始化块。最后,当通过子类对象调用方法时,优先执行子类覆盖的方法。理解这一顺序对于编写可...

    Java 普通代码块静态代码块执行顺序(实例讲解)

    2. 创建实例时,先执行父类的静态代码块、普通代码块和构造器。 3. 接着执行子类的普通代码块和构造器。 理解这个执行顺序有助于我们在设计类和对象时避免潜在的问题,例如确保初始化逻辑正确执行。在实际开发中,...

    由浅入深详解Java 类的实例化顺序

    父类的静态变量和静态代码块,按代码先后顺序执行 2. 子类的静态变量和静态代码块,按代码先后顺序执行 3. 父类的成员变量和普通代码块,按代码先后顺序执行 4. 父类的构造方法 5. 子类的成员变量和普通代码块...

    java 代码块与静态代码块加载顺序

    2. 子类静态代码块 3. 父类实例代码块 4. 子类实例代码块 在上面的实例代码中,我们可以看到 `User` 类的加载顺序按照以下顺序执行: 1. 首先执行静态代码块 `static { ... }`,打印出 "调用userSay静态方法" 和 ...

    浅谈Java中父类与子类的加载顺序详解

    在给定的例子中,无论父类还是子类,静态变量和静态初始化块都会按照它们在代码中的顺序依次执行。因此,我们看到"父类--静态变量"、"父类--静态初始化块"、"子类--静态变量"、"子类--静态初始化块"的输出。 2. **...

    类执行顺序小结.doc

    2. **静态代码块与静态变量的初始化**:在类加载时,静态代码块和静态变量会被初始化,它们的执行顺序取决于它们在代码中的出现顺序,而不是它们的定义顺序。这意味着,如果一个类中包含了多个静态代码块或静态变量...

    Android代码块执行顺序分析总结

    4. 子类静态代码块 5. 父类非静态变量 6. 父类非静态代码块 7. 父类构造方法 8. 子类非静态变量 9. 子类非静态代码块 10. 子类构造方法 三、代码块总结 在了解代码块执行顺序之后,我们可以总结出一些重要的知识点...

    java 静态块实例块构造器调用

    1. **静态块的执行顺序**:首先,从父类到子类,按照定义的顺序依次执行静态块。这意味着父类的静态块先于子类的静态块执行。 2. **实例化时的执行顺序**: - 当创建子类对象时,首先执行父类无参构造器。如果父类...

    Java常见笔试、面试系列深度剖析第二讲

    本讲我们将深入探讨两个关键知识点:方法重写(Method Overriding)和静态代码块与构造方法的执行顺序。 首先,让我们来理解方法重写。在面向对象编程中,子类可以扩展父类的功能,这就是多态性的体现。方法重写...

    java中子类继承父类,程序运行顺序的深入分析

    在示例中,"========方法体======== "(父类的非静态代码块)和"========无名称方法体======== "(子类的非静态代码块)分别在它们对应的构造方法之前执行。 3. **构造方法**:之后,会调用构造方法来创建对象。...

    javase子类父类继承关系图解

    在Java编程语言中,继承是面向对象特性的重要组成部分,它允许子类继承父类的属性和方法,从而实现代码的重用与扩展。标题“javase子类父类继承关系图解”指的是对这一概念的可视化展示,帮助初学者更好地理解Java中...

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

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

    java中构造方法和方法全面解析.pdf

    构造方法主要用于初始化类的新实例,而普通方法则是完成特定任务的代码块。 构造方法的关键特性包括: 1. **名称匹配**:构造方法必须与定义它的类的名称完全相同,不包括任何返回类型。 2. **无返回类型**:构造...

Global site tag (gtag.js) - Google Analytics