java基础系列之代码块

在java中,有四种代码块供我们使用:

  1. 普通代码块
    这是使用一对花括号扩起来的代码段.不过,出现在方法中为普通代码块,通常用来,划分变量作用范围。 如:
void exec() {

        {
            int a = 0 ;
        }
        {
            int a = 2 ;
        }
    }
  1. 静态代码块
    使用static关键字和一对花括号标识的一段代码,如:
    static {
        System.out.println("static exec.");
    }
  1. 构造代码块
    就是直接出现在类中的普通代码块.一般用来实例化对象自动执行之需要,普通代码块则是被动调用所在方法的时候执行.
   {
        //
//        c3 = new C3() ;
        System.out.println("constructor init.");
    }
  1. 同步代码块
    使用synchronized关键字和一对花括号标识的一段代码,不过同步代码块和普通代码块一样也只能出现方法中,如:
    void exec() {
        synchronized(this) {
            //
            System.out.println("synchronized .");
        }
    }

以上四种代码块,执行顺序描述如下:

  1. 普通代码块,是被动执行的,调用其所在方法则执行。其执行次数和其方法执行一致.
  2. 静态代码块,是在所在类加载的时候自动执行的。并且第一次加载所在类到该类第二次被加载之间只会执行一次,因为类加载是互斥的,一个类不能同时被加载多次。
  3. 构造代码块,只会在该类对象实例化的时候被执行。且会多次执行。
  4. 同步代码块,多用于多线程共享资源处理上。调用时间和次数和普通代码快类似。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容