当前位置: 首页 > news >正文

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. 构造器
http://www.jsqmd.com/news/338256/

相关文章:

  • 25. 屏幕像素和纹理像素不匹配
  • 端侧识物+离线翻译轻量化模型选型表
  • 2026年评价高的冷却塔改造公司推荐:冷却塔改造、昆山良机冷却塔、圆形冷却塔、常州良机冷却塔、方型冷却塔、良机冷却塔厂家选择指南 - 优质品牌商家
  • 每天给AI写10000字小作文后,我学到了什么
  • 万物识物的模型规模、多国语言翻译的词库/模型体量在端侧本地模型可以放下吗?
  • APUE笔记:Standard I/O Library(五) - Invinc
  • 运维人别硬扛!转行网安,把熬夜受的气全找补
  • 2026年豆干品类推荐:四川圆豆豆食品麻辣/特色/圆豆豆/五香/泡椒/花椒豆干全系供应 - 品牌推荐官
  • Java中,方法/类的修饰符的书写位置
  • 2026年落地式篮球架厂家推荐:壁挂式篮球架/悬空式篮球架厂家精选 - 品牌推荐官
  • 2026年海光计算产品厂家推荐:北京集特智能科技有限公司,海光3450台式机/海光工控机/海光5380服务器等全系供应,适配政务办公、智能制造与数据中心多场景 - 品牌推荐官
  • 【必藏干货】AI Agent智能体架构设计全攻略:从理论到实战,构建企业级解决方案
  • 电脑提示msvcp140.dll缺失/报错?2026最新解决方法,小白也能1分钟搞定! - PC修复电脑医生
  • iPhone 13 Pro 深度解析:配色外观|核心参数|ProMotion 屏幕|影像与视频|续航与充电|官方维修手册要点|二手验机避坑清单(图文版)
  • “新”意十足 · HarmonyOS模板组件(本次上新:面包屑、验证码、超链接、签名、水印等组件)
  • 2026年昆山良机冷却塔厂家权威推荐榜:冷却塔改造/昆山良机冷却塔/常州良机冷却塔/方型冷却塔/良机冷却塔厂家/选择指南 - 优质品牌商家
  • iPhone 12 Pro 深度解析:配色外观|核心参数|摄影/视频|续航与MagSafe|维修手册要点|二手验机避坑清单(图文版)
  • 智慧城市、能源等优质学术会议分享!
  • 2026苏州婚纱摄影机构推荐:华纳婚纱摄影与姑苏区星纳摄影店,专业拍摄与礼服全解析 - 品牌推荐官
  • 一张图看懂网络空间安全:从网络层到应用层的“防护圈”都有哪些?
  • 2026年geo推广服务推荐:上海俐麸信息科技,本地geo/优化/AIgeo推广全链路解决方案 - 品牌推荐官
  • iPhone 12 深度解析:配色外观|核心参数|MagSafe/充电续航|维修手册要点|二手验机避坑清单(图文版)
  • MySQL 分库分表
  • 2026年展览展台搭建厂家推荐:重庆觉觅文化传播有限公司,展览制作/活动搭建一站式服务 - 品牌推荐官
  • 家用空气能取暖哪个牌子好?关键看这4 大核心要点! - 资讯焦点
  • 别再当“社会NPC”:Human 3.0 时代的 5 个颠覆性进化指南
  • linux设置永久制表符宽度
  • 使用arc_unpack解包exe教程
  • 2026陕西同城搬家服务指南:如何识别规范企业?五家参考案例解析 - 深度智识库
  • 你的模型真的“学”会了吗?微调效果评估实战指南