java 代码块

Java中的代码块主要有三种类型:普通代码块、静态代码块、构造代码块。它们的用途和执行时机各不相同。

  1. 普通代码块 :在方法内部定义,使用一对大括号{}包围的代码片段。它的作用域限定在大括号内,每当程序执行到该代码块时就会执行其中的代码。

  2. 静态代码块 :使用static关键字定义,属于类级别的代码块。静态代码块在类被加载到JVM时执行,且只执行一次。常用于初始化静态变量。

  3. 构造代码块 :没有任何前缀修饰,直接使用一对大括号{}定义在类中。每次创建类的实例时,构造代码块都会执行,并且在构造方法执行前执行。常用于所有构造方法共享的代码。

下面是这三种代码块的示例:

在这个例子中,当BlockExample类被加载时,静态代码块首先执行。然后,每次使用new关键字创建BlockExample类的实例时,构造代码块会在构造方法之前执行。最后,当调用method方法时,其中的普通代码块会执行。

java 复制代码
public class BlockExample {
    // 静态代码块
    static {
        System.out.println("静态代码块执行");
        // 初始化静态变量或执行仅需执行一次的代码
    }

    // 构造代码块
    {
        System.out.println("构造代码块执行");
        // 执行所有构造方法共享的初始化代码
    }

    // 构造方法
    public BlockExample() {
        System.out.println("构造方法执行");
    }

    public void method() {
        // 普通代码块
        {
            int localVariable = 10;
            System.out.println("普通代码块执行,局部变量值为: " + localVariable);
        }
    }

    public static void main(String[] args) {
        BlockExample example = new BlockExample();
        example.method();
    }
}
java 复制代码
class test2 extends test1 {

    static {
        System.out.println("test2 static");
    }

    public static void main(String[] args) {
        test2 t = new test2();
        t.mth();

        test2 t2 = new test2();
        t2.mth();
    }

    {
        System.out.println("test2 block");
    }

    @Override
    public void mth() {

        {
            System.out.println("test2 method block");
        }
        System.out.println("test2");
    }
}
相关推荐
Abladol-aj1 分钟前
并发和并行的基础知识
java·linux·windows
清水白石0081 分钟前
从一个“支付状态不一致“的bug,看大型分布式系统的“隐藏杀机“
java·数据库·bug
Elihuss1 小时前
ONVIF协议操作摄像头方法
开发语言·php
Swift社区4 小时前
在 Swift 中实现字符串分割问题:以字典中的单词构造句子
开发语言·ios·swift
没头脑的ht4 小时前
Swift内存访问冲突
开发语言·ios·swift
没头脑的ht4 小时前
Swift闭包的本质
开发语言·ios·swift
wjs20245 小时前
Swift 数组
开发语言
吾日三省吾码5 小时前
JVM 性能调优
java
stm 学习ing6 小时前
FPGA 第十讲 避免latch的产生
c语言·开发语言·单片机·嵌入式硬件·fpga开发·fpga
湫ccc6 小时前
《Python基础》之字符串格式化输出
开发语言·python