美文网首页
java基础系列之代码块

java基础系列之代码块

作者: _palm | 来源:发表于2016-03-21 15:35 被阅读34次

    在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. 同步代码块,多用于多线程共享资源处理上。调用时间和次数和普通代码快类似。

    相关文章

      网友评论

          本文标题:java基础系列之代码块

          本文链接:https://www.haomeiwen.com/subject/yfmklttx.html