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免费学习笔记(深入)”;
用 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速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号