一 初始化块介绍
[修饰符]{
//初始化块的可执行代码
......
}
修饰符只能是static,使用static修饰符的初始化块被称为静态初始化块。
二 初始化块简单应用
1 代码示例
public class Person { // 下面定义一个初始化块 { int a = 6; if (a > 4) { System.out.println("Person初始化块:局部变量a的值大于4"); } System.out.println("Person的初始化块"); } // 定义第二个初始化块 { System.out.println("Person的第二个初始化块"); } // 定义无参数的构造器 public Person() { System.out.println("Person类的无参数构造器"); } public static void main(String[] args) { new Person(); } }
2 运行结果
Person初始化块:局部变量a的值大于4
Person的初始化块
Person的第二个初始化块
Person类的无参数构造器
3 结果分析
从运行结果来看,当创建Java对象时,系统总是先调用该类里定义的初始化块,如果一个类里定义了2个普通初始化块,则前面定义的初始化块先执行,后面定义的初始化块后执行。
三 初始化块与声明实例指定默认值语句执行顺序问题
1代码示例
InstanceInitTest.java
public class InstanceInitTest { // 先执行初始化块将a实例变量赋值为6 { a = 6; } // 再执行将a实例变量赋值为9 int a = 9; public static void main(String[] args) { // 下面代码将输出9。 System.out.println(new InstanceInitTest().a); } }
2运行结果
9
3结果分析
普通初始化块,声明实例变量指定默认值都认为是对象的初始化代码,它们的执行顺序与在源程序中排列顺序相同。
相关推荐
这里我们将深入探讨两种类型的初始化块:静态初始化块(Static Initializer Block)和对象初始化块(Instance Initializer Block)。这两种初始化块在创建类实例或加载类时分别扮演着不同的角色。 **静态初始化块**...
根据是否带有 `static` 关键字,初始化块分为两种类型:普通初始化块(非静态初始化块)和静态初始化块。 1. 普通初始化块(非静态初始化块) 普通初始化块在创建对象时会被隐式调用,并且在执行构造器之前运行。...
Java编程语言中,静态块(static block)和初始化块(instance initialization block)是两种特殊的代码块,它们在程序运行的不同阶段被执行,对于类和对象的初始化有着重要作用。同时,`main`方法是Java程序的入口...
NULL 博文链接:https://happywaterlife.iteye.com/blog/1567461
文章目录【Java语言基础】初始化块使用初始化块静态初始化块总结代码 【Java语言基础】初始化块 初始化块又称为代码块。属于类中的第四大成员。本质上是一个方法,它也有方法体,但没有方法名,没有参数,没有返回,...
类--初始化块"); 39. } 40. // 构造器 41. public SubClass() { 42. System.out.println("子类--构造器"); 43. } 44. 45. public static void main(String[] args) { 46. new SubClass(); 47. } 48.} 当我们运行这段...
详细介绍了Java的静态成员变量、静态数据块、非静态成员变量和非静态成员变量等初始化顺序
Java中的对象初始化流程是编程实践中一个非常重要的概念,它涉及到类加载、静态初始化块、实例初始化块、构造器等多个方面。下面将详细解释这个过程。 首先,对象初始化流程的起点是程序的入口点,即`main`方法。当...
"Java初始化块详解及实例代码" Java中初始化块是Java语言中的一种特殊的代码块,它可以在类加载或对象创建时执行某些操作。本文将详细介绍Java中初始化块的概念、种类、特点和应用场景。 什么是初始化块 初始化块...
实例初始化块(非静态初始化块)在这个过程中执行,用于初始化实例变量。 4. **构造函数**: 构造函数是创建新对象时必须调用的方法,它负责设置对象的初始状态。`init`文件可能包含了各种构造函数的实现,展示...
"Java初始化块及执行过程解析" Java 初始化块是 Java 语言中的一种特殊语法结构,用于对 Java 对象进行初始化操作。初始化块可以分为两种:静态初始化块和普通初始化块。静态初始化块用于对类进行初始化,而普通...
类的初始化涉及到多个方面,包括静态成员变量、实例成员变量、静态初始化块、实例初始化块以及构造函数等。本文将详细探讨Java中类的初始化过程及其顺序,并通过具体的代码示例来帮助理解这一过程。 #### 二、基础...
初始化块可以在类定义中定义,并且在构造函数调用之前执行。初始化块的执行顺序同样遵循它们在类体中出现的顺序。 #### 示例代码分析 为了更好地理解类继承初始化顺序的概念,下面通过一段示例代码来进行详细分析...
- 静态初始化块(static{}):如果类中存在静态初始化块,该块的代码会在类加载后的准备阶段执行,用于初始化静态变量或执行其他静态设置任务。 - 静态变量的赋值:接着,静态变量会被赋予它们的初始值,这可以是...
3. **父类静态初始化块**:然后是第一个静态初始化块,输出 `"我输出的是父类静态块内容→" + BaseClass.basename`。由于 `basename` 已被初始化,因此输出结果为 `"我输出的是父类静态块内容→父类静态变量"`。 4...
- **非静态块(实例初始化块)**:在每次创建类的新实例时执行的代码块,用于初始化非静态域。 - **构造函数**:用于初始化新创建的对象的方法。 #### 二、初始化顺序 按照 Java 的规定,以下列出了类初始化的基本...
静态初始化块用于在类加载时执行一次的初始化操作,而实例初始化块则在每次创建新对象时执行。这两个块可以用来设置默认值、初始化复杂对象或者执行其他必要的配置。 接下来,我们讨论Java方法。方法是代码的复用...
1. **静态初始化**:首先,执行父类的静态初始化块,然后执行子类的静态初始化块。静态初始化块用于初始化类级别的静态变量,它们只在类加载时执行一次。 2. **成员变量初始化**:接下来,初始化父类的非静态成员...
需要注意的是,静态初始化块只在类被加载时执行一次,而实例初始化块(构造函数)则会在每次创建类的实例时执行。静态变量的初始化是在类加载时完成的,而实例变量的初始化则在对象创建时进行。 在实际开发中,对...