探索《原神》同人动画世界:免费畅享视听盛宴,感受不一样的提瓦特大陆!

核心内容摘要

窥探欲望的边界:当好奇心照亮了隐秘角落
当男生把田困困放在女生困困里:那些心照不宣的浪漫

校园吃瓜第一线每日大赛

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

普通代码块

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

特点只能在方法、构造器或初始化块中使用用于提高可读性限制变量生命周期如public void demo() { { int x 10; System.out.println(x); } // x 的作用域到此结束 // System.out.println(x); // 编译错误x 未定义 }注普通代码块很少单独使用通常配合if、else等控制结构

构造代码块

定义直接写在类体不在方法内没有static修饰的{ }块

特点每次创建对象时都会执行且在构造器之前执行多个构造代码块按从上到下的顺序执行构造代码块的作用用于多个构造器共享的初始化逻辑如public class Student { { System.out.println(构造代码块执行); } public Student() { System.out.println(无参构造器); } public Student(String name) { System.out.println(有参构造器: name); } } // 测试 new Student(); // 输出 // 构造代码块执行 // 无参构造器注构造代码块在继承中的执行顺序父类构造代码块 → 父类构造器 → 子类构造代码块 → 子类构造器

静态代码块

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

特点类加载时执行一次JVM第一次使用该类时用于初始化静态资源如数据库连接、配置加载多个静态代码块按从上到下的顺序执行如public class DatabaseUtil { static { System.out.println(加载数据库驱动...); // Class.forName(com.mysql.jdbc.Driver); } static { System.out.println(读取配置文件...); } } // 第一次使用该类时如调用静态方法、创建对象等 DatabaseUtil.someMethod(); // 输出 // 加载数据库驱动... // 读取配置文件...注静态代码块只执行一次且早于任何对象创建就执行

同步代码块

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

特点锁定指定对象保证线程安全比synchroized方法更灵活可细粒度控制public class Counter { private int count 0; private final Object lock new Object(); public void increment() { synchronized (lock) { count; // 线程安全 } } }注同步代码块是并发编程的核心工具之一

四种代码块对比

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

重要补充执行顺序当它们共存时public class Test { static { System.out.println(

静态代码块); } { System.out.println(

构造代码块); } public Test() { System.out.println(

构造器); } public static void main(String[] args) { new Test(); new Test(); } }输出

静态代码块

构造代码块

构造器

构造代码块

构造器

成人国际破解版抖音,全球百万原创视频博主,海量成人资源极速日更,让您性福每-成人国际破解版抖音,全球百万原创视频博主,海量成人资源极速日更,让您性福每应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123