构造代码块和局部代码块

构造代码块

1、 在类的内部,方法外部,的代码块。
2、 通常用于抽取构造方法中的共性代码。
3、 每次调用构造方法前都会调用构造代码块
4、 优先于构造方法加载

class c{
       String country;
       {
              country="中国";
       }
       public c() {
              System.out.println("1号选手,来自"+country);
       }
       public c(int a) {
              System.out.println("2号选手,也来自"+country);
       }
}

局部代码块

1、 在方法里面的代码块
2、 通常用于控制变量的作用范围,出了括号就失效
3、 变量的范围越小越好,成员变量会有线程安全问题
4、 总结:执行顺序:
构造代码块是最优先的,局部代码块顺序执行

练习1:代码块加载顺序

public class TT {
       public static void main(String[] args) {
              Student s = new Student();
              s.init();
       }
}
class Student{
       {
              System.out.println("构造代码块1");
       }
       public void init(){
              {
                     System.out.println("局部代码块");
              }
       }
       {
              System.out.println("构造代码块2");
       }
}

Q.E.D.


努力成就未来