`
yahaitt
  • 浏览: 759899 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

静态代码块的执行顺序

 
阅读更多

静态代码块的执行顺序:

1、父类的静态代码块

2、子类的静态代码块

3、父类的构造函数

4、子类的构造函数

需要注意的地方:

子类构造函数中(不管是有参还是无参的情况)默认调用的是父类的无参数构造函数,如果父类没有无参构造函数,则子类构造函数中必须显示调用父类的构造函数。

如父类public Parent(String name){}

 此时,子类中应该是这样调用public Child(String str){super(str);}

如父类public Parent()无参型的

此时,子类中应该这样调用public Child(String str){super();//也可以不写,默认的就是会调用super();}

例子:

java 代码
  1. package com.test;   
  2.   
  3. //输出的是什么?   
  4. /*  
  5.  * parent static block  
  6.  * child static block  
  7.  * parent constructor content  
  8.  * child constructor content  
  9.  */  
  10. //静态的先执行   
  11. public class OrderTest {   
  12.   
  13.     public static void main(String[] args) {   
  14.            
  15.         new Child();//输出的是什么?   
  16.   
  17.     }   
  18. }   
  19.   
  20. class Parent   
  21. {   
  22.     private static String name;   
  23.     static  
  24.     {   
  25.         System.out.println("parent static block");   
  26.     }   
  27.        
  28.     public Parent()   
  29.     {   
  30.         System.out.println("parent constructor content");   
  31.     }   
  32. }   
  33.   
  34. class Child extends Parent   
  35. {   
  36.     static  
  37.     {   
  38.         System.out.println("child static block");   
  39.     }   
  40.        
  41.     public Child()   
  42.     {   
  43.         System.out.println("child constructor content");   
  44.     }   
  45. }   
分享到:
评论

相关推荐

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

    1. **静态代码块执行**:首先是类的静态部分,因此`ClassA`和`B`的静态代码块会按照它们在代码中出现的顺序依次执行。在这个例子中,我们首先看到"静态代码块B",然后是"静态代码块A",因为`B`类在`ClassA`类之前...

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

    静态块(`static`)是在类定义中包含的一段特殊的代码块,它在类加载时执行,而不是在对象创建时执行。静态块常用于初始化静态变量或执行一次性的初始化操作。 ### 继承中构造函数与静态块的执行顺序 在Java中,当...

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

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

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

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

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

    静态代码块的执行顺序取决于类的加载顺序,通常是在类的加载过程中执行。 在上面的实例代码中,我们可以看到一个静态代码块 `static { ... }`,这个代码块位于 `User` 类的静态域中。根据 Java 语言规范,这个代码...

    静态代码块

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

    java静态代码块与非静态代码块.doc

    这两个静态代码块是在类加载时自动执行的,它们的执行顺序是按照它们在类中的声明顺序来的。 非静态代码块 非静态代码块是 Java 中的一种特殊的代码块,它是非静态的,意思是说它是属于对象的,而不是属于类的。非...

    Java:静态代码块和构造函数执行顺序

     1 静态变量,静态代码块(类加载时执行,类不加载不执行)  2 实例变量,实例代码块(创建对象时才执行,不创建对象不执行)  3 构造函数,(创建对象时执行完2后再执行构造函数,不管构造函数是public还是private...

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

    Android代码块执行顺序分析总结 Android代码块执行顺序是指在Java中,代码块、变量、方法的加载顺序是一个重要的知识点,对于Android开发者来说尤其重要。本文将详细介绍Android代码块执行顺序的分析总结。 一、...

    关于Java中静态代码块的执行浅析

    静态代码块的执行顺序: 1. 静态代码块的执行优先于静态变量的初始化。 2. 静态代码块的执行优先于静态方法的调用。 静态代码块的应用场景: 1. 初始化静态变量:静态代码块可以用来初始化静态变量。 2. 执行静态...

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

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

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

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

    Java 中普通代码块,构造代码块,静态代码块区别及代码示例

    Java编程语言中有三种类型的代码块,它们分别是普通代码块、构造代码块和静态代码块,每种都有其特定的用途和执行顺序。 1. **普通代码块**: 普通代码块(也称为局部代码块)是在方法或者类的成员变量声明之间...

    类执行顺序小结.doc

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

    Java中的static静态代码块的使用详解

    - 对象创建:非静态代码块执行,然后是对应的构造方法。 6. **应用场景:** 静态代码块常用于初始化静态数据结构,配置类,或者一次性执行的设置操作,如日志配置、数据库连接池初始化等。 总之,Java中的静态...

    java代码-日常练习33,代码块### 静态代码块 static{代码内容;} 随着类的加载就执行一次 构造器代码块 {代码内容;} 每创建对象就执行一次 局部代码块 {代码内容;} 方法执行一次执行一次

    System.out.println("静态代码块执行"); // 初始化静态变量 } } ``` 2. 构造器代码块: 构造器代码块,也称为初始化块,不包含`static`关键字。每当创建一个类的新实例时,这些代码块就会被执行。它们可以与构造...

    Java静态代码块加载驱动代码实例

    在Java中,静态代码块的执行顺序是:静态成员变量 -> 静态代码块 -> 变量、初始化块 -> 构造函数。静态代码块永远只被加载一次,这使得它非常适合用于加载配置文件、初始化操作等。 在本文中,我们通过示例代码详细...

    Java基础之代码块.docx

    在上面的代码中,静态代码块从上到下依次执行,接着是 main 方法,最后是构造块和构造器。 Java 中的代码块有三种:普通语句块、构造块和静态块,每种代码块的执行时机不同,需要根据实际情况选择合适的代码块类型...

Global site tag (gtag.js) - Google Analytics