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

java 静态块与非静态块的执行顺序

 
阅读更多

 

加载顺序:

1. 所有静态的(无论其是变量还是块)都按顺序执行. 
2. 所有的非静态的块都在静态的(无论其是变量还是块)后执行. 
3. 所有的块(无论是静态的还是非静态的)都在构造之前执行.

4. 静态块在类被加载到内存后就开始执行

5. 非静态块是在创建对象时,构造之前被调用

 

可以在编程时,适当使用静态块和非静态块!

 

参考:

http://terryjs.iteye.com/blog/769324

分享到:
评论

相关推荐

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

    在Java继承体系中,子类会继承父类的非私有成员,包括静态块、实例块和构造器。调用顺序如下: 1. **静态块的执行顺序**:首先,从父类到子类,按照定义的顺序依次执行静态块。这意味着父类的静态块先于子类的静态...

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

    Java 静态代码块与非静态代码块 Java 中的静态代码块和非静态代码块是两个重要的概念,它们在 Java 中的应用非常广泛。下面我们来详细介绍这两个概念。 静态代码块 静态代码块是 Java 中的一种特殊的代码块,它是...

    java类中静态域、块,非静态域、块,构造函数的初始化顺序

    4. **非静态块执行**:所有非静态块按它们在源代码中出现的顺序依次执行。 5. **构造函数调用**:调用类的构造函数完成对象的初始化。 #### 三、示例分析 接下来,我们将通过题目给出的代码示例来进一步说明这个...

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

    Java静态代码块作用及执行顺序解析 Java静态代码块是Java语言中的一种特殊代码块,它们在类加载的时候执行,且只执行一次。它们通常用来初始化静态变量、设置静态变量的初始值等。静态代码块的作用域是整个类,而...

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

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

    JAVA程序:静态块代码

    在Java编程语言中,静态块(Static Block)是一种特殊的代码段,用于初始化类级别的静态变量。它是类加载时执行的,且只执行一次。在理解静态块之前,我们需要先了解类加载的过程和静态变量的概念。 静态变量是属于...

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

    5. 最后,执行当前类的非静态代码块(如果有)。 这个过程确保了对象在被创建之前,其类的静态属性和父类的静态属性已经被正确初始化。同时,通过构造方法链确保了父类的状态在子类状态之前完成初始化。 在实际...

    java中静态与非静态的区别

    ### Java中静态与非静态的区别 #### 一、静态类与非静态类 在Java中,**静态类**与**非静态类**有着明显的区别: 1. **成员组成**: - **静态类**只能包含**静态成员**和**静态方法**。这意味着你无法在静态类中...

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

    在Java编程语言中,了解静态...通过上述分析,我们可以清楚地理解Java中静态代码块与构造方法的执行顺序,这对于编写高效且可靠的代码至关重要。在实际编程中,了解这些基础知识有助于避免潜在的错误并优化代码结构。

    关于Java静态成员变量和静态初始化块等的初始化顺序的详细介绍

    详细介绍了Java的静态成员变量、静态数据块、非静态成员变量和非静态成员变量等初始化顺序

    Java基础练习题练习下静态块的用处

    3. **执行顺序**:如果有多个静态块,它们会按照在类中出现的顺序依次执行。 4. **作用域**:静态块中的代码不依赖于类的实例,因此它不能访问非静态成员,除非通过类名引用。 ### 静态块的用途 1. **静态变量初始...

    Java static静态初始快

    1. **执行顺序**:静态初始化块在非静态初始化块之前执行。当类第一次被加载时,JVM会按照它们在源代码中的顺序执行静态初始化块。 2. **类加载机制**:Java类的加载是懒加载的,即只有在类被首次使用时,JVM才会...

    静态代码块

    静态代码块与实例代码块(非静态代码块)的主要区别在于它们的执行时机以及作用范围。 - **执行时机**:静态代码块在类加载时执行,而实例代码块则是在创建对象时执行。 - **作用范围**:静态代码块作用于整个类的...

    Java类的完整构造执行顺序

    而类初始化则是指在类首次被使用时,JVM执行的一系列初始化操作,包括静态变量赋值、静态代码块执行等。 根据题目提供的内容,我们可以总结出Java类构造执行的详细步骤,这些步骤确保了类的正确初始化以及对象的...

    举例说明Java中代码块的执行顺序

    下面我们将详细探讨Java中代码块的执行顺序,包括静态属性、非静态属性、静态代码块、非静态代码块以及构造函数。 首先,让我们回顾一下结论: 1. 当创建一个类的实例时,首先会执行类中的静态属性和静态代码块,...

    学习java静态数据初始化.doc

    在 Java 中,静态变量的初始化过程可以被分为三个阶段:静态初始化、非静态初始化和执行构造函数。静态初始化是指在类加载时对静态变量的初始化。非静态初始化是指在实例创建时对实例变量的初始化。执行构造函数是指...

    Java初始化块Java初始化块.doc

    根据是否带有 `static` 关键字,初始化块分为两种类型:普通初始化块(非静态初始化块)和静态初始化块。 1. 普通初始化块(非静态初始化块) 普通初始化块在创建对象时会被隐式调用,并且在执行构造器之前运行。...

    JAVA面试题解惑系列.doc

    2. **非静态变量与非静态初始化块**:当创建类的实例时,会先初始化非静态变量,然后执行非静态初始化块,最后调用构造器。同样,这些部分也是按照在类定义中的顺序执行。例如: ```java public String field = ...

    Java静态和非静态成员变量初始化过程解析

    通过这两个示例,我们可以看到,非静态成员变量的初始化顺序是:成员变量初始化语句>成员变量初始化块>构造函数。 而对于静态成员变量,它们是在类加载时初始化的。例如,我们可以定义一个静态成员变量static ...

    java技术:java中static作用详解

    - 静态方法不能访问非静态的成员变量和方法,因为它们与特定的对象关联。静态方法只能访问静态成员变量和静态方法。 - 静态方法不能使用`this`关键字,因为它指向的是当前实例,而静态方法不与实例关联。 - 静态...

Global site tag (gtag.js) - Google Analytics