news 2026/8/29 5:52:46

Java中的代码块

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java中的代码块

在Java中,代码块是用一对花括号{}包裹起来的一段代码,根据其位置和用途不同,Java中主要有以下4中类型的代码块

1.普通代码块

1.定义:

写在方法内部{ }的代码,用于限定变量作用域或逻辑分组

2.特点:

  • 只能在方法、构造器或初始化块中使用
  • 用于提高可读性,限制变量生命周期

如:

public void demo() { { int x = 10; System.out.println(x); } // x 的作用域到此结束 // System.out.println(x); // 编译错误:x 未定义 }

注:普通代码块很少单独使用,通常配合if、else等控制结构

2.构造代码块

1.定义

直接写在类体(不在方法内),没有static修饰的{ }块

2.特点

  • 每次创建对象时都会执行(且在构造器之前执行)
  • 多个构造代码块按从上到下的顺序执行
  • 构造代码块的作用:用于多个构造器共享的初始化逻辑

如:

public class Student { { System.out.println("构造代码块执行!"); } public Student() { System.out.println("无参构造器"); } public Student(String name) { System.out.println("有参构造器: " + name); } } // 测试 new Student(); // 输出: // 构造代码块执行! // 无参构造器

注:构造代码块在继承中的执行顺序:父类构造代码块 → 父类构造器 → 子类构造代码块 → 子类构造器

3.静态代码块

1.定义

用static修饰的{ }块,写在类体中

2.特点

  • 类加载时执行一次(JVM第一次使用该类时)
  • 用于初始化静态资源(如数据库连接、配置加载)
  • 多个静态代码块按从上到下的顺序执行

如:

public class DatabaseUtil { static { System.out.println("加载数据库驱动..."); // Class.forName("com.mysql.jdbc.Driver"); } static { System.out.println("读取配置文件..."); } } // 第一次使用该类时(如调用静态方法、创建对象等): DatabaseUtil.someMethod(); // 输出: // 加载数据库驱动... // 读取配置文件...

注:静态代码块只执行一次,且早于任何对象创建就执行

4.同步代码块

1.定义

用synchroinzed(对象) 包裹的{ }块,用于线程同步

2.特点

  • 锁定指定对象,保证线程安全
  • 比synchroized方法更灵活(可细粒度控制)
public class Counter { private int count = 0; private final Object lock = new Object(); public void increment() { synchronized (lock) { count++; // 线程安全 } } }

注:同步代码块是并发编程的核心工具之一

5.四种代码块对比总结

类型语法执行时机用途
普通代码块{ ... }方法调用时限定变量作用域
构造代码块{ ... }每次new对象时(构造器前)共享实例初始化逻辑
静态代码块static { ... }类加载时(仅一次)初始化静态资源
同步代码块synchronized(obj) { ... }线程进入时线程同步

6.重要补充:执行顺序(当它们共存时)

public class Test { static { System.out.println("1. 静态代码块"); } { System.out.println("2. 构造代码块"); } public Test() { System.out.println("3. 构造器"); } public static void main(String[] args) { new Test(); new Test(); } }

输出:

1. 静态代码块 2. 构造代码块 3. 构造器 2. 构造代码块 3. 构造器
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 8:37:02

海报模板 | 学术工具 | 学术海报模板 | 学术会议海报 | 学术会议必备 | 科研展示 | 科研海报 | 国际学术海报 | 会议参会交流 | 科研成果展示 | 海报展示 | 免费下载 | 科研必备

学术海报模板之所以是提升科研展示效率的关键工具,核心在于它通过结构化设计、视觉化规范和时间成本优化,帮助研究者将复杂的研究内容高效转化为清晰、专业的展示媒介。1. 结构化逻辑,降低组织内容的难度固定框架引导:模板通常预设…

作者头像 李华
网站建设 2026/8/27 11:52:16

网络安全究竟防什么?说清网络空间安全的五大重点防护领域

什么是网络安全,网络空间安全有哪些安全? 本文章详细列举出网络空间安全的十六大种类 网络空间安全是一个覆盖 “物理层 - 网络层 - 应用层 - 数据层 - 业务层” 的全域防护体系,其安全种类可根据防护对象、技术场景和业务领域划分为 16 大…

作者头像 李华
网站建设 2026/8/24 21:02:58

单北斗变形监测系统的应用与安装维护探讨

本文主要介绍单北斗变形监测系统的安装与维护,探讨其在实际应用中的重要性。在安装方面,需要遵循规范,确保设备准确定位并保证信号畅通。维护则强调定期检查、校准以及清洁,确保系统的长期稳定运行。同时,北斗形变监测…

作者头像 李华