JAVA 初始化块

初始化块

初始化块(Initialization Block)是在类中定义的,用于初始化类或对象的代码块。初始化块分为静态初始化块和实例初始化块两种。

静态初始化块(Static Initialization Block)

静态初始化块使用static关键字修饰,用于初始化类级别的静态变量。它在类加载时执行,并且只执行一次。
示例:

public class StaticInitializationExample {
    // 静态变量
    private static int staticVariable;

    // 静态初始化块
    static {
        staticVariable = 10;
        System.out.println("Static Initialization Block executed. staticVariable = " + staticVariable);
    }

    public static void main(String[] args) {
        System.out.println("Static Initialization Example");
    }
}

输出:

Static Initialization Block executed. staticVariable = 10
Static Initialization Example

实例初始化块(Instance Initialization Block)

实例初始化块没有static关键字,用于初始化实例变量。它在每次创建对象时执行,并且在构造函数之前执行。
示例:

public class InstanceInitializationExample {
    // 实例变量
    private int instanceVariable;

    // 实例初始化块
    {
        instanceVariable = 5;
        System.out.println("Instance Initialization Block executed. instanceVariable = " + instanceVariable);
    }

    // 构造函数
    public InstanceInitializationExample() {
        System.out.println("Constructor executed.");
    }

    public static void main(String[] args) {
        System.out.println("Creating first object:");
        InstanceInitializationExample obj1 = new InstanceInitializationExample();

        System.out.println("Creating second object:");
        InstanceInitializationExample obj2 = new InstanceInitializationExample();
    }
}

输出:

Creating first object:
Instance Initialization Block executed. instanceVariable = 5
Constructor executed.
Creating second object:
Instance Initialization Block executed. instanceVariable = 5
Constructor executed.

总结

  • 静态初始化块:用于初始化静态变量,在类加载时执行一次。
  • 实例初始化块:用于初始化实例变量,在每次创建对象时执行,在构造函数之前执行。

通过使用初始化块,可以将一些通用的初始化代码集中到一个地方,避免在多个构造函数中重复代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值