`

代码块、构造器加载顺序

    博客分类:
  • java
 
阅读更多

 

package test;
/**
 * 代码块,构造器
 * @author 
 *加载顺序:静态代码块>main方法>(构造)代码块>构造器
 *
 *构造代码块:直接在类中定义且没有加static关键字的代码块称为{}构造代码块。构造代码块在创建对象时被调用,每次创建对象都会被调用,并且构造代码块的执行次序优先于类构造函数。
 *静态代码块:初始化时只加载一次
 */
public class BlockDemo {

	{
		System.out.println("代码块1.。。。");
	}
	static{//初始化时加载,在对象new之前加载
		System.out.println("静态代码块。。。");
	}
	{
		System.out.println("代码块2.。。。");
	}
	public BlockDemo() {
		System.out.println("构造器。。。");
	}
	
	public static void main(String[] args) {
		System.out.println("======主方法========");
		new BlockDemo();
		new BlockDemo();
	}
}

 

分享到:
评论

相关推荐

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

    3. **子类的普通代码块和构造器**:最后,执行`ClassA`的普通代码块"普通的代码块A"和构造器`ClassA()`,分别输出"普通的代码块A"和"构造器A"。 综上所述,Java中代码块的执行顺序是: 1. 所有类的静态代码块按它们...

    Java基础之代码块.docx

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

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

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

    实例解析JAVA中代码的加载顺序

    下面我们将通过实例解析Java中代码的加载顺序,详细介绍Java中代码块的执行顺序。 类的依赖关系 在Java中,类的依赖关系非常重要。子类会继承父类的成员变量和方法,而父类的加载顺序也会对子类产生影响。在上面的...

    java 继承关系的加载顺序

    了解Java中继承关系的加载顺序对于理解和优化程序性能至关重要。以下是对这个主题的详细阐述: 1. 类加载机制 Java的类加载过程分为三个主要阶段:加载、验证、准备、解析和初始化。当一个类被首次引用时(例如...

    静态代码块

    这与实例构造器或普通代码块不同,后者在每次创建对象时都会执行。 #### 二、静态代码块的基本用法 静态代码块的主要应用场景包括但不限于以下几种: 1. **初始化静态变量**:当需要对类中的静态成员进行初始化时...

    Java面向对象(高级)- 类的成员之四:代码块

    非静态代码块在构造器之前执行,如果类中有多个非静态代码块,也会按源码顺序依次执行。 例如,以下代码展示了不同类型的代码块: ```java class Person { String name; int age; // 静态代码块 static { ...

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

    在多级继承关系中,静态代码块按照类的加载顺序执行,先加载的类先执行其静态代码块。 例如,在给定的代码中: ```java public class A { static { System.out.print(1); } public A() { System.out.print(2)...

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

    在日常练习33中,我们关注的是三种不同类型的代码块:静态代码块、构造器代码块和局部代码块。下面将详细讲解这三种代码块的特点和用法。 1. 静态代码块: 静态代码块由`static`关键字标识,它是在类被加载到Java...

    java中的静态代码块、构造代码块、构造方法详解

    1. 首先,类加载器会加载HelloB类,执行HelloB的静态代码块。 2. 接着,由于HelloB继承自HelloA,所以先加载HelloA类,执行HelloA的静态代码块。 3. 在HelloB的`new HelloB()`语句中,先执行HelloA的构造代码块,...

    java代码块测试

    2. **构造器代码块**或**实例初始化块**:当创建类的新实例时,这些代码块会执行。它们可以用来初始化对象的状态,与构造函数一起使用。 3. **静态初始化块**:当类被加载到JVM(Java虚拟机)时,这些代码块被执行...

    Java中类的加载顺序执行结果

    通过上面的示例代码,我们可以看到,Java 中类的加载顺序执行结果是按照静态变量的初始化、静态代码块的执行、非静态变量的初始化、非静态代码块的执行、构造方法的执行的顺序进行的。在父类和子类之间,静态变量的...

    Java程序设计实验11-static、super、final、代码块.docx

    - `super`还可以用在构造器中,调用父类的构造器,确保父类的初始化逻辑得以执行。 4. **代码块**: - Java中有两种类型的代码块:实例块和静态块。 - 实例块(也称为构造代码块)在创建对象时执行,它们可以...

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

    在这个例子中,父类的非静态变量"p_Field"在初始化块中被初始化,接着执行初始化块的代码,然后调用父类的构造器。注意,即使子类没有显式地调用`super()`,Java也会自动添加一个调用父类默认构造器的语句。 3. **...

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

    - 主方法`main`中创建了一个`TestStaticCon`对象,展示了类加载和对象创建的顺序:静态代码块 -> 非静态代码块 -> 构造器。 4. **网友提供的代码示例:** 类`StaticBlock`的执行顺序展示了静态代码块和构造块的...

    杰普学习corejava总结笔记

    2.构造器执行顺序 1.类加载,同时初始化类中静态的属性(赋默认值) 2.执行静态代码块 3.分配内存空间,同时初始化非静态的属性(赋默认值) 4.调用父类构造器(注意调用父类构造器之前已经给父类的非静态的属性显示...

    JAVA程序执行顺序,你了解了吗.doc

    实例初始化块(也称为代码块或初始化块)是在创建类实例时执行的,但它们在构造器之前执行。在`Mastiff`类中,`{ System.out.println("block"); }`这个块在构造器`public Mastiff() { System.out.println("Mastiff...

    java快速学习笔记(已有基础)

    创建对象的顺序是:静态代码块(按定义顺序),普通代码块,构造器(父类构造器先执行,然后是子类构造器)。 11. **单例设计模式**: - 单例模式确保一个类只有一个实例,并提供全局访问点。饿汉式单例在类加载时...

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

    这个顺序很重要,因为一旦涉及到静态成员变量的赋值或者静态代码块的执行顺序,就可能影响程序的行为和结果。理解这一点对于编程时预测程序的行为,避免一些潜在的错误是很有帮助的。 例如,假设有一个子类继承了...

Global site tag (gtag.js) - Google Analytics