`

java 静态块 非静态块 构造方法 执行顺序

    博客分类:
  • Java
阅读更多
 java 静态块 非静态块 构造方法 执行顺序

public class Test {
	public Test() {
		System.out.println("构造方法");
	}
	{
		System.out.println("非静态块按顺序1");
	}

	static {

		System.out.println("静态块");
	}

	{
		System.out.println("非静态块按顺序2" );
	}

	public static void main(String args[]) {
		Test t = new Test();
	}
}

 

 

数据结构如下:

 

静态块
非静态块按顺序1
非静态块按顺序2
构造方法

分享到:
评论

相关推荐

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

    Java编程语言中,类的初始化过程涉及到静态块(static block)、实例块(instance block)以及构造器(constructor)。这些块的执行顺序对于理解和编写复杂的Java程序至关重要,特别是在涉及继承关系时。下面我们将...

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

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

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

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

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

    ### Java 类中静态域、块,非静态域、块,构造函数的初始化顺序 #### 一、概述 在 Java 编程语言中,类的初始化顺序对于理解程序的行为至关重要。特别是当涉及到静态域(静态变量)、非静态域(实例变量)、静态块...

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

    这个非静态代码块是在创建对象时自动执行的,它的执行顺序是在构造方法中的某个点。 静态代码块与非静态代码块的区别 静态代码块和非静态代码块的主要区别是它们的执行时机。静态代码块是在类加载时自动执行的,而...

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

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

    Java的静态代码块、非静态代码块、构造函数

    Java编程语言中,静态代码块、非静态代码块和构造函数是面向对象设计的重要组成部分,它们在类的初始化和对象创建过程中起到关键作用。本文将深入探讨这些概念,以及它们在实际开发中的应用。 首先,我们来理解静态...

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

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

    JAVA程序:静态块代码

    它的执行顺序早于类的非静态初始化块和构造函数。当类第一次被加载时,静态块按照它们在代码中的顺序依次执行。 下面是一个简单的静态块示例,展示了如何使用静态块初始化静态变量: ```java public class ...

    java中静态与非静态的区别

    - **静态构造函数**在.NET运行库加载类时执行,通常是在第一次调用类成员之前。 - **实例构造函数**在创建对象实例时执行。 3. **初始化次数**: - **静态构造函数**只执行一次,这有助于确保静态成员的初始化仅...

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

    5. 子类的非静态构造方法。 例如: ```java class SuperClass { SuperClass() { System.out.println("SuperClass constructor"); } } public class SubClass extends SuperClass { SubClass() { System.out....

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

    执行顺序的优先级是:静态代码块 > `main`方法 > 构造代码块 > 构造方法。静态代码块在类首次加载时执行,然后是`main`方法,接着是构造代码块,最后是构造方法。 了解这些代码块的区别对于编写高效的Java代码至关...

    深入剖析java类的构造方式

    这将触发父类的构造过程,直到到达 `Object` 类的构造方法为止,因为所有Java类都隐式地继承自 `Object` 类。 5. 执行类声明中的成员初始化块和静态初始化块。成员初始化块是在创建实例时执行的,而静态初始化块在类...

    Java static静态初始快

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

    静态代码块

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

    类执行顺序小结.doc

    3. **非静态代码块与成员变量的初始化**:这些初始化发生在创建对象实例时,同样遵循代码中出现的顺序。每次创建新对象时,这些初始化都会重复执行。 #### 二、构造代码块与成员变量初始化 构造代码块和成员变量...

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

    静态初始化块不能访问非静态成员,包括实例属性和实例方法,因为它们依赖于对象实例,而静态初始化块在类加载时并没有对象存在。 类的初始化顺序如下: - 当Java创建一个对象时,先为对象的所有属性分配内存。 - ...

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

    即使如此,父类的构造方法和静态块仍然会按顺序执行,因为这是继承的固有特性。 总结一下,Java中子类继承父类时的程序运行顺序是: 1. 父类的静态变量和静态块 2. 子类的静态变量和静态块 3. 父类的非静态代码块 ...

    java 初始化与方法

    初始化过程包括了静态块和实例块的执行,以及构造函数的调用。静态初始化块用于在类加载时执行一次的初始化操作,而实例初始化块则在每次创建新对象时执行。这两个块可以用来设置默认值、初始化复杂对象或者执行其他...

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

    - 合理安排静态成员和非静态成员的初始化顺序,确保程序逻辑的正确性。 通过本篇文章的学习,我们了解了Java中静态初始化的基本概念、执行过程以及如何正确地在程序中使用静态初始化。这对于理解和优化Java应用...

Global site tag (gtag.js) - Google Analytics