首页 > Java > java教程 > 正文

java代码块是什么

php中文网
发布: 2025-12-06 20:06:06
原创
755人浏览过
Java代码块分为普通、构造、静态和同步四类:普通代码块限变量作用域;构造代码块在对象创建时执行,用于初始化;静态代码块类加载时执行一次,初始化静态资源;同步代码块保障线程安全。

java代码块是什么

Java代码块是指用一对大括号 { } 括起来的一段代码,它能定义一个独立的作用域,用来组织逻辑、控制变量生命周期或在特定时机执行初始化操作。

普通代码块(局部代码块)

写在方法内部的代码块,主要作用是**限制变量作用域、及时释放资源**。

  • 里面声明的变量只在该块内有效,出了大括号就不可访问
  • 适合临时计算、避免变量名冲突、减少内存占用
示例:
public void doSomething() {
    {
        int temp = 10;
        System.out.println(temp); // ✅ 可以访问
    }
    // System.out.println(temp); // ❌ 编译错误:找不到符号 temp
}
登录后复制

构造代码块(实例代码块)

写在类中、方法外的代码块,用 { } 包裹,没有修饰符也没有名字。每次创建对象时,它会在构造方法执行前自动运行,且优先于构造方法中的代码。

  • 所有构造方法共用,适合抽取多个构造器中重复的初始化逻辑
  • 可以访问类的成员变量和方法
示例:
class Person {
    String name;

    { // 构造代码块
        System.out.println("正在初始化Person对象");
        name = "未知";
    }

    public Person() {}
    public Person(String name) { this.name = name; }
}
登录后复制

无论调用哪个构造方法,都会先打印那句话并设置默认 name。

立即学习Java免费学习笔记(深入)”;

小浣熊家族
小浣熊家族

小浣熊家族是基于商汤自研大语言模型的AI助手,提供代码小浣熊AI助手、办公小浣熊AI助手两大功能模块

小浣熊家族 71
查看详情 小浣熊家族

静态代码块

static { } 定义,属于类级别,在类第一次被加载进 JVM 时执行,且**只执行一次**。

  • 常用于初始化静态变量、加载驱动、读取配置等一次性操作
  • 不能访问非静态成员(因为此时对象还没创建)
示例:
class DBUtil {
    static Connection conn;

    static {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://...");
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}
登录后复制

同步代码块

配合 synchronized 关键字使用,用于线程安全控制,锁定指定对象或类,保证同一时刻只有一个线程执行该块内代码。

  • 比同步方法更灵活,可以精确控制锁的粒度
  • 格式:synchronized(对象引用) { ... }
示例:
public void withdraw(double amount) {
    synchronized(this) {
        if (balance >= amount) {
            balance -= amount;
        }
    }
}
登录后复制

基本上就这些。代码块看着简单,但作用各不相同——有的管作用域,有的管初始化时机,有的管线程安全。用对地方,代码会更清晰、更健壮。

以上就是java代码块是什么的详细内容,更多请关注php中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号